Sergei Shulepov aba8f46ec9 Integrate HRMP (#258)
* HRMP message ingestion

* Plumb hrmp_watermark to build_collation

* Plumb hrmp_watermark to ValidationResult

* Plumb hrmp outbound messages

* Implement message-broker part of HRMP

* Kill UPWARD_MESSAGES as well

Otherwise, they will get resent each block

* Add sudo versions for easier testing

* Remove the xcmp module

Not useful for the moment

* Doc for HRMP message handler

* Estimate the weight upper bound for on_finalize

* Remove a redundant type annotation

* fix spelling of a method

* Apply suggestions from code review

Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>

* Deabbreviate dmp and hrmp in the message ingestion type

* Don't use binary_search since it's broken by a following rotate

Instead use the linear search. We can afford linear search here since
due to limited scalability of HRMP we can only have at most a couple of
dozens of channels.

* Fix the watermark

Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
2020-12-15 04:42:31 +00:00
2020-12-15 04:42:31 +00:00
2020-08-06 11:39:48 +02:00
2020-12-15 04:42:31 +00:00
2020-12-15 04:42:31 +00:00
2020-12-15 04:42:31 +00:00
2020-12-15 04:42:31 +00:00
2020-02-21 16:20:22 +01:00
2020-05-18 17:17:34 +02:00
2020-04-21 12:17:50 +02:00
2020-08-04 17:33:20 +02:00
2020-12-15 04:42:31 +00:00
2020-10-06 07:12:52 +00:00

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.

Runtime

The cumulus-runtime is wrapper around Substrate runtimes that provides parachain validation capabilities and proof-generation routines.

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 rococo-collator

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

./target/release/rococo-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.

S
Description
No description provided
Readme 529 MiB
Languages
Rust 99.8%
Shell 0.2%