This repo aims to demonstrate and test Substrate based blockchain interoperability using a relay chain and two parachain.
- Demonstrate and test Substrate based blockchain interoperability
- Version 0.1
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
There are lots of things to setup, build and execute before having a functional multichain environement.
- Configure your machine
- Build the parachains and relay chain
- Setup/verify the docker/kubernetes .YAML files
- Start the relay chain
- Start the parachains
"You should have at least two validators (relay chain nodes) running for every collator" -https://docs.substrate.io/
- Use the Polkadot.js interface to manage the setup: polkadot.js.org
- Git
- Curl
- Rust
- gnome-terminal
- jq
- node / nodejs install link
#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
- 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:
#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
- Repo owner or admin
- Other community or team contact