Giter Site home page Giter Site logo

kishansagathiya / gossamer Goto Github PK

View Code? Open in Web Editor NEW

This project forked from chainsafe/gossamer

0.0 2.0 0.0 100.02 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.13% Go 99.24% Shell 0.01% Dockerfile 0.20% JavaScript 0.43%

gossamer's Introduction

Gossamer logo

Warning

The Gossamer Polkadot Host is pre-production software [2022-12-01]

Gossamer is a Golang implementation of the Polkadot Host: an execution environment for the Polkadot runtime, which is materialized as a Web Assembly (Wasm) blob. In addition to running an embedded Wasm executor, a Polkadot Host must orchestrate a number of interrelated services, such as networking, block production, block finalization, a JSON-RPC server, and more.

Getting Started

To get started with Gossamer, follow the steps below to build the source code and start a development network.

Prerequisites

Git is required to acquire the Gossamer source code, and Make is used to build it. Building Gossamer requires version 1.20 or higher of Golang.

Installation

Clone the Gossamer repository and checkout the development branch:

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

Build Gossamer:

make gossamer

Or build Gossamer and move the resulting executable to $GOPATH/bin:

make install

To install Gossamer

Use Gossamer

A comprehensive guide to Gossamer's end-user capabilities is located in the cmd/gossamer directory. What follows is a guide to Gossamer's capabilities as a Polkadot Host.

Chain Specifications

A chain specification is a JSON document that defines the genesis block of a blockchain network, as well as network parameters and metadata (e.g. network name, bootnodes, telemetry endpoints, etc). It is necessary to provide Gossamer with a chain specification in order to use it as a Polkadot Host. The Gossamer repository includes a number of chain specifications, some of which will be used in this guide.

Configuration Files

Gossamer exposes a number of configuration parameters, such as the location of a chain specification file. Although it's possible to use command-line parameters, this guide will focus on the usage of Gossamer TOML configuration files, which define a set of configuration values in a declarative, portable, reusable format. The chain specifications that are used in this guide are each accompanied by one or more configuration files.

Single-Node Development Network

The name of the Polkadot test network is "Westend", and the Gossamer repository includes a chain specification and configuration file for a single-node, local Westend test network.

First, initialize the directory that will be used by the Gossamer node to manage its state:

./bin/gossamer init --force --chain westend-dev

Now, start Gossamer as a host for the local Westend development chain:

./bin/gossamer --chain westend-dev

Multi-Node Development Network

The multi-node development network includes three participants: the Alice, Bob, and Charlie test accounts. In three separate terminals, initialize the data directories for the three Gossamer instances:

./bin/gossamer init --force --chain westend-local --alice
./bin/gossamer init --force --chain westend-local --bob
./bin/gossamer init --force --config westend-local --charlie

Then start the three hosts:

./bin/gossamer --chain westend-local --alice
./bin/gossamer --chain westend-local --bob
./bin/gossamer --chain westend-local --charlie

Contribute

Donate

Our work on Gossamer is funded by the community. If you'd like to support us with a donation:

ChainSafe Security Policy

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.

Reporting a Security Bug

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 dependabot[bot] avatar qdm12 avatar eclesiomelojunior avatar edwardmack avatar dutterbutter avatar arijitad avatar ryanchristo avatar kishansagathiya avatar ansermino avatar timwu20 avatar jimjbrettj avatar thomasmodeneis avatar dziabko avatar ryry79261 avatar dimartiro avatar kanishkatn avatar priom avatar axaysagathiya avatar danforbes avatar q9f avatar florianfranzen avatar amerameen avatar chainsafesystems avatar 1garo avatar anthdm avatar gregthegreek avatar p1sar avatar omar391 avatar semantic-release-bot avatar

Watchers

James Cloos avatar  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.