gjyaiya / gossamer

🕸️ Gossamer: The Golang Polkadot Runtime Environment Implementation (WIP)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

gossamer logo

Golang Polkadot Runtime Environment Implementation

GoDoc Go Report Card Build Passing Maintainability Test Coverage License: GPL v3 standard-readme compliant

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

Dependencies

go 1.13

Install

go get -u github.com/ChainSafe/gossamer

Usage

make gossamer
gossamer init
gossamer

Contributing

Donations

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

License

GNU Lesser General Public License v3.0

About

🕸️ Gossamer: The Golang Polkadot Runtime Environment Implementation (WIP)

License:GNU Lesser General Public License v3.0


Languages

Language:Go 99.4%Language:Makefile 0.4%Language:Shell 0.2%