diff --git a/bin/node-template/README.md b/bin/node-template/README.md
index 5623fedb5342bef16f03285b33ce9fc1daf184cd..8c8b82a14bb86975bda14410d6313500b0388cbe 100644
--- a/bin/node-template/README.md
+++ b/bin/node-template/README.md
@@ -55,7 +55,7 @@ RUST_LOG=debug RUST_BACKTRACE=1 ./target/release/node-template -lruntime=debug -
### Multi-Node Local Testnet
To see the multi-node consensus algorithm in action, run a local testnet with two validator nodes,
-Alice and Bob, that have been [configured](/bin/node-template/node/src/chain_spec.rs) as the initial
+Alice and Bob, that have been [configured](./node/src/chain_spec.rs) as the initial
authorities of the `local` testnet chain and endowed with testnet units.
Note: this will require two terminal sessions (one for each node).
@@ -157,7 +157,7 @@ Review the [FRAME runtime implementation](./runtime/src/lib.rs) included in this
the following:
- This file configures several pallets to include in the runtime. Each pallet configuration is
- defined by a code block that begins with `impl $PALLET_NAME::Trait for Runtime`.
+ defined by a code block that begins with `impl $PALLET_NAME::Config for Runtime`.
- The pallets are composed into a single runtime by way of the
[`construct_runtime!`](https://crates.parity.io/frame_support/macro.construct_runtime.html)
macro, which is part of the core
@@ -181,8 +181,8 @@ A FRAME pallet is compromised of a number of blockchain primitives:
- Events: Substrate uses [events](https://substrate.dev/docs/en/knowledgebase/runtime/events) to
notify users of important changes in the runtime.
- Errors: When a dispatchable fails, it returns an error.
-- Trait: The `Trait` configuration interface is used to define the types and parameters upon which
- a FRAME pallet depends.
+- Config: The `Config` configuration interface is used to define the types and parameters upon
+ which a FRAME pallet depends.
## Generate a Custom Node Template
diff --git a/bin/node-template/node/Cargo.toml b/bin/node-template/node/Cargo.toml
index 8b1a47fd2bf15740e36a28692510985b4d7a28e1..38cdaa1eea48c7b7ef257474ef5d73842e20ac84 100644
--- a/bin/node-template/node/Cargo.toml
+++ b/bin/node-template/node/Cargo.toml
@@ -22,6 +22,7 @@ sc-cli = { version = "0.8.0", path = "../../../client/cli", features = ["wasmtim
sp-core = { version = "2.0.0", path = "../../../primitives/core" }
sc-executor = { version = "0.8.0", path = "../../../client/executor", features = ["wasmtime"] }
sc-service = { version = "0.8.0", path = "../../../client/service", features = ["wasmtime"] }
+sc-keystore = { version = "2.0.0", path = "../../../client/keystore" }
sp-inherents = { version = "2.0.0", path = "../../../primitives/inherents" }
sc-transaction-pool = { version = "2.0.0", path = "../../../client/transaction-pool" }
sp-transaction-pool = { version = "2.0.0", path = "../../../primitives/transaction-pool" }
@@ -35,7 +36,7 @@ sc-client-api = { version = "2.0.0", path = "../../../client/api" }
sp-runtime = { version = "2.0.0", path = "../../../primitives/runtime" }
# These dependencies are used for the node template's RPCs
-jsonrpc-core = "15.0.0"
+jsonrpc-core = "15.1.0"
sc-rpc = { version = "2.0.0", path = "../../../client/rpc" }
sp-api = { version = "2.0.0", path = "../../../primitives/api" }
sc-rpc-api = { version = "0.8.0", path = "../../../client/rpc-api" }
diff --git a/bin/node-template/node/src/chain_spec.rs b/bin/node-template/node/src/chain_spec.rs
index 41f582fb64a46cf598c0f424b23793b95f0291db..c5451e81f20c10b064df046010f7989036002925 100644
--- a/bin/node-template/node/src/chain_spec.rs
+++ b/bin/node-template/node/src/chain_spec.rs
@@ -39,7 +39,7 @@ pub fn authority_keys_from_seed(s: &str) -> (AuraId, GrandpaId) {
}
pub fn development_config() -> Result ,
/// The SelectChain Strategy
pub select_chain: SC,
+ /// A copy of the chain spec.
+ pub chain_spec: Box