Skip to content

Latest commit

 

History

History
202 lines (178 loc) · 11.8 KB

substrate.md

File metadata and controls

202 lines (178 loc) · 11.8 KB

Substrate Evaluation

Summary - Substrate is a chain layer which allows pluggable consensus, definition of storage through the seperation of "extrinsics" and abstracts the runtime design allowing for blockchain providers to decide which runtime best suits there application needs. It also has been built with light client protocol in mind with a number of storage and pruning options giving the ability to clearly seperated different actors requirements for infrastructure (e.g. participants can run a light client on a mobile device and validators can run full nodes with gauranteed performance and uptime). On top of this Polkadot sits as a relay chain (built on Substrate) which allows private chains to share infrastucture such as validators.

Reference Material

Blockchain Explorers

Relevant Documentation

Relevant Code Links

Key Repositories

Functional Breakdown

Persistence

Distribution

Discovery

Gossip

Consensus

Polkadot - Relay Chain

  • Whitepaper Overview - Participation in Polkadot - Page 4 gives an overview of the actors
  • Collator
    • A collator node lives on a distinct parachain and submits a proposal fora state transition, along with a proof for its validity (what we might call a witness or block data).
  • Pokadot Parachain - Defines primitive types for creating or validating a parachain.
  • Statement Table - This stores messages other authorities issue about candidates.
  • Network - Does the heavy lifting of routing the statements and gaining consensus across the relay chain (and associated parachains)
    • Consensus - The "consensus" networking code built on top of the base network service. This fulfills the polkadot_consensus::Network trait, providing a hook to be called each time consensus begins on a new chain head.
    • Consensus Pool - Bridge between the network and consensus service for getting collations to it.
    • Router - Statement routing and consensus table router implementation.
  • Fisherman (Misbehaviour check) - Utility for substrate-based runtimes that want to check misbehavior reports.

Security

Signing

Hashing

Privacy

Governance

Staking

Voting

Chaincode

Deployment

Substrate

Polkadot

Interledger

  • Message Format
  • Relay Chain
  • Consensus Process

Developer Tools

Off Chain Orchestration

  • Oracles
  • Workflow

Wallets

  • Feather

Chain Tools

Business Tools

  • Analytics
  • System Monitoring
  • Deployment Tools

Performance

Key Pull Requests or Features

Substrate Prototyping

Deploying a Substrate Chain

Note by default chaindata is held in

Johns-MacBook-Pro-2:chains jincubator$ pwd
/Users/jincubator/Library/Application Support/Substrate/chains
Johns-MacBook-Pro-2:chains jincubator$ ll
total 0
drwxr-xr-x  5 jincubator  staff  160 Oct 22 21:31 bbq-birch
drwxr-xr-x  5 jincubator  staff  160 Oct 23 11:50 development
drwxr-xr-x  5 jincubator  staff  160 Oct 23 14:16 staging_testnet

and to purge a chain see

substrate purge-chain --help

Deploying Polkadot

Deploying a simple contract

Running a Transaction