On Ubuntu/Debian (or similar distributions on WSL), install the following packages:
sudo apt-get update sudo apt-get install -y build-essential pkg-config llvm-dev libclang-dev clang libssl-dev curlInstall Rust through rustup.rs:
curl https://getsubstrate.io -sSf | bash -s -- --fastInitialize your Wasm Build environment:
./scripts/init.sh Build Wasm and native code:
cargo build --release --features finitestateIf you want to see the multi-node consensus algorithm in action locally, then you can create a local testnet. You'll need two terminals open. In one, run:
./target/release/automata --chain=local --alice -d /tmp/aliceAnd in the other, run:
./target/release/automata --chain=local --bob -d /tmp/bob --port 30334 --bootnodes '/ip4/127.0.0.1/tcp/30333/p2p/<ALICE_BOOTNODE_ID_HERE>' Ensure you replace `ALICE_BOOTNODE_ID_HERE` with the node ID from the output of the first terminal.You can muck around by heading to https://polkadot.js.org/apps and choose "Local Node" from the Settings menu. Make sure you have the following type definitions saved in the Settings->Developer page:
{ "ResourceId": "[u8; 32]", "DepositNonce": "u64", "ProposalVotes": { "votes_for": "Vec<AccountId>", "votes_against": "Vec<AccountId>", "status": { "_enum": [ "Initiated", "Approved", "Rejected" ] } }, "BridgeTokenId": "U256", "BridgeChainId": "u8", "VestingPlan": { "start_time": "u64", "cliff_duration": "u64", "total_duration": "u64", "interval": "u64", "initial_amount": "Balance", "total_amount": "Balance", "pub vesting_during_cliff": "bool" } }