Skip to content
Substrate node implementing Edgeware
Rust Shell Dockerfile
Branch: master
Clone or download
drewstone Add v6 testnet files (#84)
* Add v6 testnet files

* Rename governance to signaling, add more restrictions to proposal lifecycle, delete all proposals eventually

* Version bump to 0.6

* More tests, more cleanup of data in identity

* Add test for used types free-up

* Setup test framework for treasury rewards

* Negation

* Give treasury proportional rewards

* Remove irrelevant comments

* Testnet files and new module
Latest commit a5e6f9e Aug 15, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
modules Add v6 testnet files (#84) Aug 16, 2019
node Add v6 testnet files (#84) Aug 16, 2019
scripts Drew.another - Update for 0.5.0 testnet (#82) Aug 10, 2019
testnets Add v6 testnet files (#84) Aug 16, 2019
.ackrc Update readme and add .ackrc Jul 25, 2019
.dockerignore Fixing docker build for directory change. Jan 14, 2019
.gitignore Add node script Jul 14, 2019
Cargo.lock Add v6 testnet files (#84) Aug 16, 2019
Cargo.toml Add v6 testnet files (#84) Aug 16, 2019
Dockerfile Adding apt update to setup and simplifying docker. Jun 28, 2019
LICENSE Switching license to GPL and making us authors. Dec 5, 2018 Add v6 testnet files (#84) Aug 16, 2019 up: Fixes runtime problems, adds ranked choice voting (#72) Jul 14, 2019 Changes to scripts, new testnet config Mar 26, 2019 Source cargo env needs to be called from the same process Aug 10, 2019


Edgeware is an:

  • On-chain Governed,
  • Proof-of-Stake (PoS) Blockchain
  • with a WASM Runtime.

Developer resources are available at and more detailed documentation at our Github Wiki. For more details about the project, visit the Edgeware website, or check the blog or Twitter for the latest. Finally, for discussion and governance, you can utilize

The latest substrate hash we pegged to is: f9e5a3742cfecb7f8f89c7c961ae900cca645b65

To get started

  • Download this entire repository to the file system that you are using to run the validator node.

    • You can do this by going to this page and selecting "Clone or download" followed by "Download ZIP".
    • If you are installing via a command line interface (e.g. SSH into a remote server), you can dow-load by running wget
    • Once you have downloaded the zip file, unzip the edgeware-node-master folder onto the file system. If you are using a command line interface, you can unzip by running unzip
    • All commands referenced in this document need to be run from within the edgeware-node-master folder.
  • You will also need to install rust and cargo by installing rustup here.

    • Note: at the end of the install, you will need to log out and log in again, or run the suggested source command to configure the current shell.

Fresh start

If your device is clean (such as a fresh cloud VM) you can use this script, otherwise, proceed with the Initial Setup.


To create a keypair, install subkey with cargo install --force --git subkey. Then run the following:

subkey generate

To create an ED25519 keypair, run the following:

subkey -e generate

To create derived keypairs, use the mnemonic generated from a method above and run:

subkey inspect "<mnemonic>"//<derive_path>

For example:

subkey inspect "west paper guide park design weekend radar chaos space giggle execute canoe"//edgewarerocks

Then proceed to the Running instructions or follow the instructions below for the manual setup.

Initial Setup

curl -sSf | sh
rustup update stable
rustup update nightly
rustup target add wasm32-unknown-unknown --toolchain nightly
cargo install --git

You will also need to install the following packages:


sudo apt install cmake pkg-config libssl-dev git clang libclang-dev


brew install cmake pkg-config openssl git llvm


cargo build --release


Ensure you have a fresh start if updating from another version:


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 If done correctly, you should see your node with the inserted name.

Implemented Modules



Developing on Edgeware

Running A Local Chain

To run a chain locally for development purposes: ./target/release/edgeware --chain=local --alice --validator

To allow apps in your browser to connect, as well as anyone else on your local network, add the --rpc-cors=all flag.

To force your local to create new blocks, even if offline, add the --force-authoring flag.

Adding A Module

  1. Add its github repo to:
  1. 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.
  1. If its storage contains config elements, then you need to modify the chain spec:
  • Add it to the edgeware_runtime's list of Config types.
  • Add it to the testnet_genesis function, initializing all storage fields set to config().
  1. Build and run the chain.
You can’t perform that action at this time.