-
Notifications
You must be signed in to change notification settings - Fork 71
Home
A Parity Substrate node implementing Edgeware.
If your device is clean (such as a fresh cloud VM) you can use this script, otherwise, proceed with the Initial Setup.
./setup.sh
Then proceed to the Running instructions or follow the instructions below for the manual setup.
curl https://sh.rustup.rs -sSf | sh
rustup update nightly
rustup target add wasm32-unknown-unknown --toolchain nightly
rustup update stable
cargo install --git https://github.com/alexcrichton/wasm-gc
You will also need to install the following packages:
Linux:
sudo apt install cmake pkg-config libssl-dev git clang libclang-dev
Mac:
brew install cmake pkg-config openssl git llvm
./build.sh
cargo build --release
Ensure you have a fresh start if updating from another version:
./purge-chain.sh
To start up the Edgeware node and connect to the latest testnet, run:
./target/release/edgeware --chain=edgeware --name <INSERT_NAME>
If you use the --key
flag, ensure that either it is a 32-byte hex string or prefixed with //
like so:
./target/release/edgeware --chain=edgeware --name <INSERT_NAME> --key //testkey
To ensure you followed the steps correctly, check https://telemetry.polkadot.io/#/Edgeware%20Testnet%20V0.2.0. If done correctly, you should see your node with the inserted name.
Implemented Modules
- Aura
- Balances
- Consensus
- Contract
- Council
- Democracy
- Executive
- Fees
- Finality_tracker
- Grandpa
- Indices
- Session
- Staking
- System
- Timestamp
- Treasury
- Sudo
To run a chain locally for development purposes: ./target/release/edgeware --chain=local --alice --validator
To force your local to create new blocks, even if offline, add the --force-authoring
flag.
Adding A Module
- Add its github repo to:
- Cargo.toml
- node/runtime/Cargo.toml
-
node/runtime/wasm/Cargo.toml (be sure to have
default-features = false
)
- Changes to the runtime:
- Add it as an
extern crate
. - Implement its
Trait
with production types. - Add it to the
construct_runtime
macro with all implemented components.
- If its storage contains
config
elements, then you need to modify the chain spec:
- Add it to the
edgeware_runtime
's list ofConfig
types. - Add it to the
testnet_genesis
function, initializing all storage fields set toconfig()
.
- Build and run the chain.