diff --git a/substrate-node-template/Cargo.lock b/Cargo.lock similarity index 100% rename from substrate-node-template/Cargo.lock rename to Cargo.lock diff --git a/substrate-node-template/Cargo.toml b/Cargo.toml similarity index 100% rename from substrate-node-template/Cargo.toml rename to Cargo.toml diff --git a/README.md b/README.md index 484722c..5a59652 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,70 @@ -# substrate-node-template +# Substrate Node Template + A new SRML-based Substrate node, ready for hacking. + +## Build + +Install Rust: + +```bash +curl https://sh.rustup.rs -sSf | sh +``` + +Install required tools: + +```bash +./scripts/init.sh +``` + +Build Wasm and native code: + +```bash +cargo build +``` + +## Run + +### Single node development chain + +You can start a development chain with: + +```bash +cargo run -- --dev +``` + +Detailed logs may be shown by running the node with the following environment variables set: `RUST_LOG=debug RUST_BACKTRACE=1 cargo run -- --dev`. + +### Multi-node local testnet + +If you want to see the multi-node consensus algorithm in action locally, then you can create a local testnet with two validator nodes for Alice and Bob, who are the initial authorities of the genesis chain that have been endowed with testnet units. + +Optionally, give each node a name and expose them so they are listed on the Polkadot [telemetry site](https://telemetry.polkadot.io/#/Local%20Testnet). + +You'll need two terminal windows open. + +We'll start Alice's substrate node first on default TCP port 30333 with her chain database stored locally at `/tmp/alice`. The bootnode ID of her node is `QmRpheLN4JWdAnY7HGJfWFNbfkQCb6tFf4vvA6hgjMZKrR`, which is generated from the `--node-key` value that we specify below: + +```bash +cargo run -- \ + --base-path /tmp/alice \ + --chain=local \ + --alice \ + --node-key 0000000000000000000000000000000000000000000000000000000000000001 \ + --telemetry-url ws://telemetry.polkadot.io:1024 \ + --validator +``` + +In the second terminal, we'll start Bob's substrate node on a different TCP port of 30334, and with his chain database stored locally at `/tmp/bob`. We'll specify a value for the `--bootnodes` option that will connect his node to Alice's bootnode ID on TCP port 30333: + +```bash +cargo run -- \ + --base-path /tmp/bob \ + --bootnodes /ip4/127.0.0.1/tcp/30333/p2p/QmRpheLN4JWdAnY7HGJfWFNbfkQCb6tFf4vvA6hgjMZKrR \ + --chain=local \ + --bob \ + --port 30334 \ + --telemetry-url ws://telemetry.polkadot.io:1024 \ + --validator +``` + +Additional CLI usage options are available and may be shown by running `cargo run -- --help`. diff --git a/substrate-node-template/build.rs b/build.rs similarity index 100% rename from substrate-node-template/build.rs rename to build.rs diff --git a/substrate-node-template/runtime/Cargo.toml b/runtime/Cargo.toml similarity index 100% rename from substrate-node-template/runtime/Cargo.toml rename to runtime/Cargo.toml diff --git a/substrate-node-template/runtime/build.rs b/runtime/build.rs similarity index 100% rename from substrate-node-template/runtime/build.rs rename to runtime/build.rs diff --git a/substrate-node-template/runtime/src/lib.rs b/runtime/src/lib.rs similarity index 100% rename from substrate-node-template/runtime/src/lib.rs rename to runtime/src/lib.rs diff --git a/substrate-node-template/runtime/src/template.rs b/runtime/src/template.rs similarity index 100% rename from substrate-node-template/runtime/src/template.rs rename to runtime/src/template.rs diff --git a/substrate-node-template/scripts/init.sh b/scripts/init.sh similarity index 100% rename from substrate-node-template/scripts/init.sh rename to scripts/init.sh diff --git a/substrate-node-template/src/chain_spec.rs b/src/chain_spec.rs similarity index 100% rename from substrate-node-template/src/chain_spec.rs rename to src/chain_spec.rs diff --git a/substrate-node-template/src/cli.rs b/src/cli.rs similarity index 100% rename from substrate-node-template/src/cli.rs rename to src/cli.rs diff --git a/substrate-node-template/src/main.rs b/src/main.rs similarity index 100% rename from substrate-node-template/src/main.rs rename to src/main.rs diff --git a/substrate-node-template/src/service.rs b/src/service.rs similarity index 100% rename from substrate-node-template/src/service.rs rename to src/service.rs diff --git a/substrate-node-template/LICENSE b/substrate-node-template/LICENSE deleted file mode 100644 index cf1ab25..0000000 --- a/substrate-node-template/LICENSE +++ /dev/null @@ -1,24 +0,0 @@ -This is free and unencumbered software released into the public domain. - -Anyone is free to copy, modify, publish, use, compile, sell, or -distribute this software, either in source code form or as a compiled -binary, for any purpose, commercial or non-commercial, and by any -means. - -In jurisdictions that recognize copyright laws, the author or authors -of this software dedicate any and all copyright interest in the -software to the public domain. We make this dedication for the benefit -of the public at large and to the detriment of our heirs and -successors. We intend this dedication to be an overt act of -relinquishment in perpetuity of all present and future rights to this -software under copyright law. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR -OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, -ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. - -For more information, please refer to diff --git a/substrate-node-template/README.md b/substrate-node-template/README.md deleted file mode 100644 index 5a59652..0000000 --- a/substrate-node-template/README.md +++ /dev/null @@ -1,70 +0,0 @@ -# Substrate Node Template - -A new SRML-based Substrate node, ready for hacking. - -## Build - -Install Rust: - -```bash -curl https://sh.rustup.rs -sSf | sh -``` - -Install required tools: - -```bash -./scripts/init.sh -``` - -Build Wasm and native code: - -```bash -cargo build -``` - -## Run - -### Single node development chain - -You can start a development chain with: - -```bash -cargo run -- --dev -``` - -Detailed logs may be shown by running the node with the following environment variables set: `RUST_LOG=debug RUST_BACKTRACE=1 cargo run -- --dev`. - -### Multi-node local testnet - -If you want to see the multi-node consensus algorithm in action locally, then you can create a local testnet with two validator nodes for Alice and Bob, who are the initial authorities of the genesis chain that have been endowed with testnet units. - -Optionally, give each node a name and expose them so they are listed on the Polkadot [telemetry site](https://telemetry.polkadot.io/#/Local%20Testnet). - -You'll need two terminal windows open. - -We'll start Alice's substrate node first on default TCP port 30333 with her chain database stored locally at `/tmp/alice`. The bootnode ID of her node is `QmRpheLN4JWdAnY7HGJfWFNbfkQCb6tFf4vvA6hgjMZKrR`, which is generated from the `--node-key` value that we specify below: - -```bash -cargo run -- \ - --base-path /tmp/alice \ - --chain=local \ - --alice \ - --node-key 0000000000000000000000000000000000000000000000000000000000000001 \ - --telemetry-url ws://telemetry.polkadot.io:1024 \ - --validator -``` - -In the second terminal, we'll start Bob's substrate node on a different TCP port of 30334, and with his chain database stored locally at `/tmp/bob`. We'll specify a value for the `--bootnodes` option that will connect his node to Alice's bootnode ID on TCP port 30333: - -```bash -cargo run -- \ - --base-path /tmp/bob \ - --bootnodes /ip4/127.0.0.1/tcp/30333/p2p/QmRpheLN4JWdAnY7HGJfWFNbfkQCb6tFf4vvA6hgjMZKrR \ - --chain=local \ - --bob \ - --port 30334 \ - --telemetry-url ws://telemetry.polkadot.io:1024 \ - --validator -``` - -Additional CLI usage options are available and may be shown by running `cargo run -- --help`.