GithubHelp home page GithubHelp logo

jagrutkosti / gossamer Goto Github PK

View Code? Open in Web Editor NEW

This project forked from chainsafe/gossamer

0.0 1.0 0.0 72.74 MB

๐Ÿ•ธ๏ธ Gossamer: A Go implementation of the Polkadot Host

Home Page: https://chainsafe.github.io/gossamer/

License: GNU Lesser General Public License v3.0

Makefile 0.19% Go 98.98% Shell 0.29% Dockerfile 0.08% JavaScript 0.46%

gossamer's Introduction

Gossamer logo

A Go Implementation of the Polkadot Host

Gossamer is an implementation of the Polkadot Host: a framework used to build and run nodes for different blockchain protocols that are compatible with the Polkadot ecosystem. The core of the Polkadot Host is the wasm runtime which handles the logic of the chain.

Gossamer includes node implementations for major blockchains within the Polkadot ecosystem and simplifies building node implementations for other blockchains. Runtimes built with Substrate can plug their runtime into Gossamer to create a node implementation in Go.

For more information about Gossamer, the Polkadot ecosystem, and how to use Gossamer to build and run nodes for various blockchain protocols within the Polkadot ecosystem, check out the Gossamer Docs.

Get Started

Prerequisites

install go version >=1.15

Installation

get the ChainSafe/gossamer repository:

git clone [email protected]:ChainSafe/gossamer
cd gossamer

build gossamer command:

make gossamer

Run Development Node

To initialise a development node:

./bin/gossamer --chain dev init

To start the development node:

./bin/gossamer --chain dev

The development node is configured to produce a block every slot and to finalise a block every round (as there is only one authority, alice.)

Run Gossamer Node

The gossamer node runs by default as an authority with 9 authorites set at genesis. The built-in keys, corresponding to the authorities, that are available for the node are alice, bob, charlie, dave, eve, ferdie, george, and ian.

To initialise a gossamer node:

./bin/gossamer --chain gssmr init

To start the gossamer node:

./bin/gossamer --chain gssmr --key alice

Note: If you only run one gossamer node, the node will not build blocks every slot or finalize blocks; it will appear that the node is doing nothing, but it is actually waiting for a slot to build a block. This is because there are 9 authorities set, so at least 6 of the authorities should be run for a functional network. If you wish to reduce the number of authorities, you can modify the genesis file in chain/gssmr/genesis-spec.json.

Run Kusama Node

Kusama is currently supported as a full node, ie. it can sync the chain but not act as an authority.

To initialise a kusama node:

./bin/gossamer --chain kusama init

To start the kusama node:

./bin/gossamer --chain kusama

The node may not appear to do anything for the first minute or so (it's bootstrapping to the network.) If you wish to see what is it doing in this time, you can turn on debug logs in chain/gssmr/config.toml:

[log]
network = "debug"

After it's finished bootstrapping, the node should begin to sync.

Run Polkadot Node

Polkadot is currently supported as a full node, ie. it can sync the chain but not act as an authority.

To initialise a polkadot node:

./bin/gossamer --chain polkadot init

To start the polkadot node:

./bin/gossamer --chain polkadot

Contribute

Donate

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

ChainSafe Security Policy

Reporting a Security Bug

We take all security issues seriously, if you believe you have found a security issue within a ChainSafe project please notify us immediately. If an issue is confirmed, we will take all necessary precautions to ensure a statement and patch release is made in a timely manner.

Please email us a description of the flaw and any related information (e.g. reproduction steps, version) to security at chainsafe dot io.

License

GNU Lesser General Public License v3.0


gossamer's People

Contributors

noot avatar edwardmack avatar ryanchristo avatar dutterbutter avatar ansermino avatar arijitad avatar thomasmodeneis avatar dziabko avatar ryry79261 avatar priom avatar florianfranzen avatar eclesiomelojunior avatar chainsafesystems avatar amerameen avatar anthdm avatar gregthegreek avatar mvdan avatar monkrus avatar adamslevy avatar decanus avatar kanishkatn avatar steviezhang avatar dependabot[bot] avatar arseneeth avatar muang0 avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.