Official Go implementation of the Ethereum protocol
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
go-ethereum/swarm
Elad 93fe16b0a5 swarm/api/http: refactored http package (#17309) 6 years ago
..
api swarm/api/http: refactored http package (#17309) 6 years ago
bmt swarm/bmt: async section writer interface to BMT (#778) 6 years ago
dev swarm: bzz-list, bzz-raw and bzz-immutable schemes (#15667) 7 years ago
fuse swarm/fuse: Hotfix missing parantheses in statement 6 years ago
grafana_dashboards swarm: network rewrite merge 6 years ago
log swarm: network rewrite merge 6 years ago
metrics swarm: ctx propagation; bmt fixes; pss generic notification framework (#17150) 6 years ago
multihash swarm: network rewrite merge 6 years ago
network cmd/swarm, swarm: various test fixes (#17299) 6 years ago
pot swarm: network rewrite merge 6 years ago
pss swarm: integrate OpenTracing; propagate ctx to internal APIs (#17169) 6 years ago
sctx swarm/api/http: refactored http package (#17309) 6 years ago
services/swap swarm: network rewrite merge 6 years ago
spancontext swarm: integrate OpenTracing; propagate ctx to internal APIs (#17169) 6 years ago
state swarm: network rewrite merge 6 years ago
storage swarm/storage/mru: HOTFIX - fix panic in Handler.update (#17313) 6 years ago
testutil swarm/testutil: remove EnableMetrics 6 years ago
tracing swarm: integrate OpenTracing; propagate ctx to internal APIs (#17169) 6 years ago
version params, swarm/version: begin Geth v1.8.14, Swarm v0.3.2 cycle 6 years ago
AUTHORS swarm: network rewrite merge 6 years ago
OWNERS swarm: network rewrite merge 6 years ago
README.md gitter: change ethereum/swarm to ethersphere/orange-lounge 6 years ago
network_test.go swarm: network simulation for swarm tests (#769) 6 years ago
state.go swarm: network rewrite merge 6 years ago
swarm.go swarm/storage/mru: Client-side MRU signatures (#784) 6 years ago
swarm_test.go swarm: ctx propagation; bmt fixes; pss generic notification framework (#17150) 6 years ago

README.md

Swarm

https://swarm.ethereum.org

Swarm is a distributed storage platform and content distribution service, a native base layer service of the ethereum web3 stack. The primary objective of Swarm is to provide a decentralized and redundant store for dapp code and data as well as block chain and state data. Swarm is also set out to provide various base layer services for web3, including node-to-node messaging, media streaming, decentralised database services and scalable state-channel infrastructure for decentralised service economies.

Travis Gitter

Building the source

Building Swarm requires Go (version 1.10 or later).

go get -d github.com/ethereum/go-ethereum

go install github.com/ethereum/go-ethereum/cmd/swarm

Documentation

Swarm documentation can be found at https://swarm-guide.readthedocs.io.

Contribution

Thank you for considering to help out with the source code! We welcome contributions from anyone on the internet, and are grateful for even the smallest of fixes!

If you'd like to contribute to Swarm, please fork, fix, commit and send a pull request for the maintainers to review and merge into the main code base. If you wish to submit more complex changes though, please check up with the core devs first on our Swarm gitter channel to ensure those changes are in line with the general philosophy of the project and/or get some early feedback which can make both your efforts much lighter as well as our review and merge procedures quick and simple.

Please make sure your contributions adhere to our coding guidelines:

  • Code must adhere to the official Go formatting guidelines (i.e. uses gofmt).
  • Code must be documented adhering to the official Go commentary guidelines.
  • Pull requests need to be based on and opened against the master branch.
  • Code review guidelines.
  • Commit messages should be prefixed with the package(s) they modify.
    • E.g. "swarm/fuse: ignore default manifest entry"

License

The go-ethereum library (i.e. all code outside of the cmd directory) is licensed under the GNU Lesser General Public License v3.0, also included in our repository in the COPYING.LESSER file.

The go-ethereum binaries (i.e. all code inside of the cmd directory) is licensed under the GNU General Public License v3.0, also included in our repository in the COPYING file.