gossamer is an implementation of the Polkadot Runtime Environment written in Go. The Polkadot Runtime Environment is a modular, customizable framework for building blockchains. It has a swappable WASM runtime (ie. state transition function) that can be replaced even after the blockchain has launched without hard forks. It also has a generic extrinsic and block format which are specified in the runtime. The runtime can be written in any language that compiles to WASM.
Our packages:
package | description |
---|---|
cmd |
command-line interface for gossamer |
codec |
SCALE codec; used for encoding and decoding |
common |
commonly used types and functions |
config |
client configuration |
consensus |
BABE/GRANDPA implementations |
core |
Core service to orchestrate system interations |
dot |
wraps other packages to allow a complete client |
internal |
internal api |
p2p |
peer-to-peer service using libp2p |
polkadb |
database implemenation using badgerDB |
rpc |
RPC server |
runtime |
WASM runtime integration using the wasmer interpreter |
trie |
implementation of a modified Merkle-Patricia trie |
go 1.13
go get -u github.com/ChainSafe/gossamer
make gossamer
gossamer init
gossamer
- Check out our contribution guidelines: CONTRIBUTING.md
- Have questions? Say hi on Discord!
Our work on gossamer is funded by grants. If you'd like to donate, you can send us ETH or DAI at the following address:
0x764001D60E69f0C3D0b41B0588866cFaE796972c
GNU Lesser General Public License v3.0