package
1.8.13
Repository: https://github.com/divan/go-ethereum.git
Documentation: pkg.go.dev

# README

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.

# Packages

No description provided by the author
Package bmt is a simple nonconcurrent reference implementation for hashsize segment based Binary Merkle tree hash on arbitrary but fixed maximum chunksize This implementation does not take advantage of any paralellisms and uses far more memory than necessary, but it is easy to see that it is correct.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Package pot see doc.go.
Pss provides devp2p functionality for swarm nodes without the need for a direct tcp connection between them.
No description provided by the author
No description provided by the author
No description provided by the author
Copyright 2018 The go-ethereum Authors This file is part of the go-ethereum library.
No description provided by the author
No description provided by the author
No description provided by the author

# Functions

creates a new swarm service instance implements node.Service If mockStore is not nil, it will be used as the storage for chunk data.

# Structs

serialisable info about swarm.
the swarm stack.
No description provided by the author
No description provided by the author