GithubHelp home page GithubHelp logo

isabella232 / cumulus-1 Goto Github PK

View Code? Open in Web Editor NEW

This project forked from compound-finance/cumulus

0.0 0.0 0.0 9.6 MB

Substrate Parachain Framework

License: GNU General Public License v3.0

Shell 0.96% JavaScript 0.21% Rust 98.36% Dockerfile 0.47%

cumulus-1's Introduction

Cumulus โ˜๏ธ

A set of tools for writing Substrate-based Polkadot parachains. Refer to the included overview for architectural details, and the Cumulus workshop for a hand-holding walkthrough of using these tools.

It's easy to write blockchains using Substrate, and the overhead of writing parachains' distribution, p2p, database, and synchronization layers should be just as low. This project aims to make it easy to write parachains for Polkadot by leveraging the power of Substrate.

Cumulus clouds are shaped sort of like dots; together they form a system that is intricate, beautiful and functional.

Consensus

cumulus-consensus is a consensus engine for Substrate that follows a Polkadot relay chain. This will run a Polkadot node internally, and dictate to the client and synchronization algorithms which chain to follow, finalize, and treat as best.

Collator

A Polkadot collator for the parachain is implemented by cumulus-collator.

Rococo ๐Ÿ‘‘

Rococo is the testnet for parachains. It currently runs the parachains Tick, Trick and Track.

Rococo is an elaborate style of design and the name describes the painstaking effort that has gone into this project. Tick, Trick and Track are the German names for the cartoon ducks known to English speakers as Huey, Dewey and Louie.

Build & Launch Rococo Collators

Collators are similar to validators in the relay chain. These nodes build the blocks that will eventually be included by the relay chain for a parachain.

To run a Rococo collator you will need to compile the following binary:

cargo build --release -p polkadot-collator

Once the executable is built, launch collators for each parachain (repeat once each for chain tick, trick, track):

./target/release/polkadot-collator --chain $CHAIN --validator

Parachains

The parachains of Rococo all use the same runtime code. The only difference between them is the parachain ID used for registration with the relay chain:

  • Tick: 100
  • Trick: 110
  • Track: 120

The network uses horizontal message passing (HRMP) to enable communication between parachains and the relay chain and, in turn, between parachains. This means that every message is sent to the relay chain, and from the relay chain to its destination parachain.

Launch a local setup including a Relay Chain and a Parachain

Launch the Relay Chain

# Compile Polkadot with the real overseer feature
git clone https://github.com/paritytech/polkadot
git fetch
git checkout rococo-v1
cargo build --release

# Generate a raw chain spec
./target/release/polkadot build-spec --chain rococo-local --disable-default-bootnode --raw > rococo-local-cfde.json

# Alice
./target/release/polkadot --chain rococo-local-cfde.json --alice --tmp

# Bob (In a separate terminal)
./target/release/polkadot --chain rococo-local-cfde.json --bob --tmp --port 30334

Launch the Parachain

# Compile
git clone https://github.com/paritytech/cumulus
git fetch
git checkout rococo-v1
cargo build --release

# Export genesis state
# --parachain-id 200 as an example that can be chosen freely. Make sure to everywhere use the same parachain id
./target/release/polkadot-collator export-genesis-state --parachain-id 200 > genesis-state

# Export genesis wasm
./target/release/polkadot-collator export-genesis-wasm > genesis-wasm

# Collator1
./target/release/polkadot-collator --collator --tmp --parachain-id <parachain_id_u32_type_range> --port 40335 --ws-port 9946 -- --execution wasm --chain ../polkadot/rococo-local-cfde.json --port 30335

# Collator2
./target/release/polkadot-collator --collator --tmp --parachain-id <parachain_id_u32_type_range> --port 40336 --ws-port 9947 -- --execution wasm --chain ../polkadot/rococo-local-cfde.json --port 30336

# Parachain Full Node 1
./target/release/polkadot-collator --tmp --parachain-id <parachain_id_u32_type_range> --port 40337 --ws-port 9948 -- --execution wasm --chain ../polkadot/rococo-local-cfde.json --port 30337

Register the parachain

image

cumulus-1's People

Contributors

bkchr avatar cecton avatar pepyakin avatar gavofyork avatar rphmeier avatar joshorndorff avatar thiolliere avatar shawntabrizi avatar tripleight avatar cheme avatar shaunxw avatar chevdor avatar kichjang avatar coriolinus avatar stanislav-tkach avatar lovelaced avatar xlc avatar jesseabram avatar danforbes avatar benwhitejam avatar andresilva avatar akru avatar zjb0807 avatar tgmichel avatar mrq1911 avatar joepetrowski avatar vgeddes avatar v-van avatar stefie avatar byron 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.