mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-04-26 18:07:58 +00:00
60e5011c72
* Adding first rough ouline of the repository structure * Remove old CI stuff * add title * formatting fixes * move node-exits job's script to scripts dir * Move docs into subdir * move to bin * move maintainence scripts, configs and helpers into its own dir * add .local to ignore * move core->client * start up 'test' area * move test client * move test runtime * make test move compile * Add dependencies rule enforcement. * Fix indexing. * Update docs to reflect latest changes * Moving /srml->/paint * update docs * move client/sr-* -> primitives/ * clean old readme * remove old broken code in rhd * update lock * Step 1. * starting to untangle client * Fix after merge. * start splitting out client interfaces * move children and blockchain interfaces * Move trie and state-machine to primitives. * Fix WASM builds. * fixing broken imports * more interface moves * move backend and light to interfaces * move CallExecutor * move cli off client * moving around more interfaces * re-add consensus crates into the mix * fix subkey path * relieve client from executor * starting to pull out client from grandpa * move is_decendent_of out of client * grandpa still depends on client directly * lemme tests pass * rename srml->paint * Make it compile. * rename interfaces->client-api * Move keyring to primitives. * fixup libp2p dep * fix broken use * allow dependency enforcement to fail * move fork-tree * Moving wasm-builder * make env * move build-script-utils * fixup broken crate depdencies and names * fix imports for authority discovery * fix typo * update cargo.lock * fixing imports * Fix paths and add missing crates * re-add missing crates
77 lines
2.2 KiB
Markdown
77 lines
2.2 KiB
Markdown
# Substrate Node Template
|
|
|
|
A new SRML-based Substrate node, ready for hacking.
|
|
|
|
## 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/node-template purge-chain --dev
|
|
```
|
|
|
|
Start a development chain with:
|
|
|
|
```bash
|
|
./target/release/node-template --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`.
|