Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jasl/my-substrate-node
https://github.com/jasl/my-substrate-node
Last synced: 24 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/jasl/my-substrate-node
- Owner: jasl
- License: unlicense
- Created: 2019-10-30T21:31:50.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2019-11-04T17:35:07.000Z (about 5 years ago)
- Last Synced: 2024-12-24T00:14:33.589Z (about 1 month ago)
- Language: Rust
- Size: 61.5 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Substrate Node Template
A new SRML-based Substrate node, ready for hacking.
## Prepare
`git submodule update --init`
## Build
Install Rust:
```bash
curl https://sh.rustup.rs -sSf | sh
```Initialize your Wasm Build environment:
```bash
./scripts/init.sh
```Build Wasm and native code:
```bash
cargo build --release
```## Run
### Single node development chain
Purge any existing developer chain state:
```bash
./target/release/my-node purge-chain --dev
```Start a development chain with:
```bash
./target/release/my-node --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`.