Skip to content

Latest commit

 

History

History
110 lines (77 loc) · 4.7 KB

File metadata and controls

110 lines (77 loc) · 4.7 KB

README

This repo aims to demonstrate and test Substrate based blockchain interoperability using a relay chain and two parachain.

What is this repository for?

  • Demonstrate and test Substrate based blockchain interoperability
  • Version 0.1

use case global architecture

Current state of implementation:

  • 1 Relay chain (polkadot)
  • 2 Parachains (Renault & MAPFRE)
  • Auto parachain add on relay chain using the Polkadot JS library (help here)
  • Add SIM pallet on Renault parachain
  • Create Renault centralized database connected to its parachain to manage access (i.e. create new pallet or modify existing to manage authentification)
    • IPFS ?
    • It authentification with Zero-Knowledge/zk-SNARK possible ? (help zk-SNARK)
    • Use basic permission system (add/remove account IDs from list)?
  • Send crash transactions to the parachain using a script or IoT (Raspberry Pi). Use a JS script like previously or the tutorship new version.
  • Create the MAPFRE parachain: template parachain with a pallet that can manage an insurance situation (to define)
  • Send XCM in between two parachains

How do I get set up?

Summary of set up

There are lots of things to setup, build and execute before having a functional multichain environement.

  1. Configure your machine
  2. Build the parachains and relay chain
  3. Setup/verify the docker/kubernetes .YAML files
  4. Start the relay chain
  5. Start the parachains

"You should have at least two validators (relay chain nodes) running for every collator" -https://docs.substrate.io/

  1. Use the Polkadot.js interface to manage the setup: polkadot.js.org

Dependencies

  • Git
  • Curl
  • Rust
  • gnome-terminal
  • jq
  • node / nodejs install link

Local machine configuration

#set up your machine if not done
curl https://sh.rustup.rs -sSf | sh
source ~/.cargo/env

#Be sure to update everything
rustup default stable
rustup update

rustup update nightly
rustup target add wasm32-unknown-unknown --toolchain nightly

#test your config
rustc --version
rustup show

Startup scripts

  • pull_and_build.sh to pull the relay chain and parachains and puild it
  • Run all-in-one task in vscode.

View chain status/explorer:

How to run tests

Deployment instructions

Build specs and other examples

#In spec json file do not forget this modification:
# "para_id": 2000, <--- this
# "parachainInfo": {
#   "parachainId": 2000 <--- and this !
# },
./target/release/parachain-collator build-spec --chain cloud-renault-chain.json --disable-default-bootnode --raw > cloud-renault-chain-raw.json
./target/release/parachain-collator build-spec --chain cloud-insurance-chain.json --disable-default-bootnode --raw > cloud-insurance-chain-raw.json 
./target/release/parachain-collator export-genesis-wasm --chain cloud-renault-chain-raw.json > cloud-para-2000-wasm 
./target/release/parachain-collator export-genesis-state --chain cloud-renault-chain-raw.json > cloud-para-2000-genesis 
./target/release/parachain-collator export-genesis-wasm --chain cloud-insurance-chain-raw.json > cloud-para-3000-wasm 
./target/release/parachain-collator export-genesis-state --chain cloud-insurance-chain-raw.json > cloud-para-3000-genesis 

Who do I talk to?

  • Repo owner or admin
  • Other community or team contact