Auto-Update substrate-node-template from polkadot-v0.9.40 (#421)
Co-authored-by: substrate-developer-hub <devops-team@parity.io>main
parent
d67d92de1b
commit
120fc85498
File diff suppressed because it is too large
Load Diff
29
README.md
29
README.md
|
@ -2,10 +2,10 @@
|
||||||
|
|
||||||
A fresh [Substrate](https://substrate.io/) node, ready for hacking :rocket:
|
A fresh [Substrate](https://substrate.io/) node, ready for hacking :rocket:
|
||||||
|
|
||||||
A standalone version of this template is available for each release of Polkadot in the [Substrate Developer Hub Parachain Template](https://github.com/substrate-developer-hub/substrate-parachain-template/) repository.
|
A standalone version of this template is available for each release of Polkadot in the [Substrate Developer Hub Parachain Template](https://github.com/substrate-developer-hub/substrate-parachain-template/) repository.
|
||||||
The parachain template is generated directly at each Polkadot release branch form the [Node Template in Substreate](https://github.com/paritytech/substrate/tree/master/bin/node-template) upstream
|
The parachain template is generated directly at each Polkadot release branch from the [Node Template in Substrate](https://github.com/paritytech/substrate/tree/master/bin/node-template) upstream
|
||||||
|
|
||||||
It is usually best to to use the stand-alone version to start a new project.
|
It is usually best to use the stand-alone version to start a new project.
|
||||||
All bugs, suggestions, and feature requests should be made upstream in the [Substrate](https://github.com/paritytech/substrate/tree/master/bin/node-template) repository.
|
All bugs, suggestions, and feature requests should be made upstream in the [Substrate](https://github.com/paritytech/substrate/tree/master/bin/node-template) repository.
|
||||||
|
|
||||||
## Getting Started
|
## Getting Started
|
||||||
|
@ -158,25 +158,4 @@ To get all the correct dependencies, activate direnv `direnv allow` and lorri `l
|
||||||
|
|
||||||
### Docker
|
### Docker
|
||||||
|
|
||||||
First, install [Docker](https://docs.docker.com/get-docker/) and [Docker Compose](https://docs.docker.com/compose/install/).
|
Please follow the [Substrate Docker instructions here](https://github.com/paritytech/substrate/blob/master/docker/README.md) to build the Docker container with the Substrate Node Template binary.
|
||||||
|
|
||||||
Then run the following command to start a single node development chain.
|
|
||||||
|
|
||||||
```sh
|
|
||||||
./scripts/docker_run.sh
|
|
||||||
```
|
|
||||||
|
|
||||||
This command compiles the code and starts a local development network.
|
|
||||||
You can also replace the default command (`cargo build --release && ./target/release/node-template --dev --ws-external`) by appending your own.
|
|
||||||
For example:
|
|
||||||
|
|
||||||
```sh
|
|
||||||
# Run Substrate node without re-compiling
|
|
||||||
./scripts/docker_run.sh ./target/release/node-template --dev --ws-external
|
|
||||||
|
|
||||||
# Purge the local dev chain
|
|
||||||
./scripts/docker_run.sh ./target/release/node-template purge-chain --dev
|
|
||||||
|
|
||||||
# Check whether the code is compilable
|
|
||||||
./scripts/docker_run.sh cargo check
|
|
||||||
```
|
|
||||||
|
|
|
@ -20,52 +20,52 @@ name = "node-template"
|
||||||
clap = { version = "4.0.9", features = ["derive"] }
|
clap = { version = "4.0.9", features = ["derive"] }
|
||||||
futures = { version = "0.3.21", features = ["thread-pool"]}
|
futures = { version = "0.3.21", features = ["thread-pool"]}
|
||||||
|
|
||||||
sc-cli = { version = "0.10.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" }
|
sc-cli = { version = "0.10.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.40" }
|
||||||
sp-core = { version = "7.0.0", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" }
|
sp-core = { version = "7.0.0", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.40" }
|
||||||
sc-executor = { version = "0.10.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" }
|
sc-executor = { version = "0.10.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.40" }
|
||||||
sc-service = { version = "0.10.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" }
|
sc-service = { version = "0.10.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.40" }
|
||||||
sc-telemetry = { version = "4.0.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" }
|
sc-telemetry = { version = "4.0.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.40" }
|
||||||
sc-keystore = { version = "4.0.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" }
|
sc-keystore = { version = "4.0.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.40" }
|
||||||
sc-transaction-pool = { version = "4.0.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" }
|
sc-transaction-pool = { version = "4.0.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.40" }
|
||||||
sc-transaction-pool-api = { version = "4.0.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" }
|
sc-transaction-pool-api = { version = "4.0.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.40" }
|
||||||
sc-consensus-aura = { version = "0.10.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" }
|
sc-consensus-aura = { version = "0.10.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.40" }
|
||||||
sp-consensus-aura = { version = "0.10.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" }
|
sp-consensus-aura = { version = "0.10.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.40" }
|
||||||
sp-consensus = { version = "0.10.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" }
|
sp-consensus = { version = "0.10.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.40" }
|
||||||
sc-consensus = { version = "0.10.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" }
|
sc-consensus = { version = "0.10.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.40" }
|
||||||
sc-finality-grandpa = { version = "0.10.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" }
|
sc-consensus-grandpa = { version = "0.10.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.40" }
|
||||||
sp-finality-grandpa = { version = "4.0.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" }
|
sp-consensus-grandpa = { version = "4.0.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.40" }
|
||||||
sc-client-api = { version = "4.0.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" }
|
sc-client-api = { version = "4.0.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.40" }
|
||||||
sp-runtime = { version = "7.0.0", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" }
|
sp-runtime = { version = "7.0.0", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.40" }
|
||||||
sp-io = { version = "7.0.0", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" }
|
sp-io = { version = "7.0.0", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.40" }
|
||||||
sp-timestamp = { version = "4.0.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" }
|
sp-timestamp = { version = "4.0.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.40" }
|
||||||
sp-inherents = { version = "4.0.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" }
|
sp-inherents = { version = "4.0.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.40" }
|
||||||
sp-keyring = { version = "7.0.0", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" }
|
sp-keyring = { version = "7.0.0", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.40" }
|
||||||
frame-system = { version = "4.0.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" }
|
frame-system = { version = "4.0.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.40" }
|
||||||
pallet-transaction-payment = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" }
|
pallet-transaction-payment = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.40" }
|
||||||
|
|
||||||
# These dependencies are used for the node template's RPCs
|
# These dependencies are used for the node template's RPCs
|
||||||
jsonrpsee = { version = "0.16.2", features = ["server"] }
|
jsonrpsee = { version = "0.16.2", features = ["server"] }
|
||||||
sc-rpc = { version = "4.0.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" }
|
sc-rpc = { version = "4.0.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.40" }
|
||||||
sp-api = { version = "4.0.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" }
|
sp-api = { version = "4.0.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.40" }
|
||||||
sc-rpc-api = { version = "0.10.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" }
|
sc-rpc-api = { version = "0.10.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.40" }
|
||||||
sp-blockchain = { version = "4.0.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" }
|
sp-blockchain = { version = "4.0.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.40" }
|
||||||
sp-block-builder = { version = "4.0.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" }
|
sp-block-builder = { version = "4.0.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.40" }
|
||||||
sc-basic-authorship = { version = "0.10.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" }
|
sc-basic-authorship = { version = "0.10.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.40" }
|
||||||
substrate-frame-rpc-system = { version = "4.0.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" }
|
substrate-frame-rpc-system = { version = "4.0.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.40" }
|
||||||
pallet-transaction-payment-rpc = { version = "4.0.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" }
|
pallet-transaction-payment-rpc = { version = "4.0.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.40" }
|
||||||
|
|
||||||
# These dependencies are used for runtime benchmarking
|
# These dependencies are used for runtime benchmarking
|
||||||
frame-benchmarking = { version = "4.0.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" }
|
frame-benchmarking = { version = "4.0.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.40" }
|
||||||
frame-benchmarking-cli = { version = "4.0.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" }
|
frame-benchmarking-cli = { version = "4.0.0-dev", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.40" }
|
||||||
|
|
||||||
# Local Dependencies
|
# Local Dependencies
|
||||||
node-template-runtime = { version = "4.0.0-dev", path = "../runtime" }
|
node-template-runtime = { version = "4.0.0-dev", path = "../runtime" }
|
||||||
|
|
||||||
# CLI-specific dependencies
|
# CLI-specific dependencies
|
||||||
try-runtime-cli = { version = "0.10.0-dev", optional = true, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" }
|
try-runtime-cli = { version = "0.10.0-dev", optional = true, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.40" }
|
||||||
|
|
||||||
[build-dependencies]
|
[build-dependencies]
|
||||||
substrate-build-script-utils = { version = "3.0.0", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" }
|
substrate-build-script-utils = { version = "3.0.0", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.40" }
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
default = []
|
default = []
|
||||||
|
|
|
@ -4,8 +4,8 @@ use node_template_runtime::{
|
||||||
};
|
};
|
||||||
use sc_service::ChainType;
|
use sc_service::ChainType;
|
||||||
use sp_consensus_aura::sr25519::AuthorityId as AuraId;
|
use sp_consensus_aura::sr25519::AuthorityId as AuraId;
|
||||||
|
use sp_consensus_grandpa::AuthorityId as GrandpaId;
|
||||||
use sp_core::{sr25519, Pair, Public};
|
use sp_core::{sr25519, Pair, Public};
|
||||||
use sp_finality_grandpa::AuthorityId as GrandpaId;
|
|
||||||
use sp_runtime::traits::{IdentifyAccount, Verify};
|
use sp_runtime::traits::{IdentifyAccount, Verify};
|
||||||
|
|
||||||
// The URL for the telemetry server.
|
// The URL for the telemetry server.
|
||||||
|
|
|
@ -102,7 +102,7 @@ pub fn run() -> sc_cli::Result<()> {
|
||||||
let PartialComponents { client, task_manager, backend, .. } =
|
let PartialComponents { client, task_manager, backend, .. } =
|
||||||
service::new_partial(&config)?;
|
service::new_partial(&config)?;
|
||||||
let aux_revert = Box::new(|client, _, blocks| {
|
let aux_revert = Box::new(|client, _, blocks| {
|
||||||
sc_finality_grandpa::revert(client, blocks)?;
|
sc_consensus_grandpa::revert(client, blocks)?;
|
||||||
Ok(())
|
Ok(())
|
||||||
});
|
});
|
||||||
Ok((cmd.run(client, backend, Some(aux_revert)), task_manager))
|
Ok((cmd.run(client, backend, Some(aux_revert)), task_manager))
|
||||||
|
|
|
@ -3,8 +3,8 @@
|
||||||
use node_template_runtime::{self, opaque::Block, RuntimeApi};
|
use node_template_runtime::{self, opaque::Block, RuntimeApi};
|
||||||
use sc_client_api::BlockBackend;
|
use sc_client_api::BlockBackend;
|
||||||
use sc_consensus_aura::{ImportQueueParams, SlotProportion, StartAuraParams};
|
use sc_consensus_aura::{ImportQueueParams, SlotProportion, StartAuraParams};
|
||||||
|
use sc_consensus_grandpa::SharedVoterState;
|
||||||
pub use sc_executor::NativeElseWasmExecutor;
|
pub use sc_executor::NativeElseWasmExecutor;
|
||||||
use sc_finality_grandpa::SharedVoterState;
|
|
||||||
use sc_keystore::LocalKeystore;
|
use sc_keystore::LocalKeystore;
|
||||||
use sc_service::{error::Error as ServiceError, Configuration, TaskManager, WarpSyncParams};
|
use sc_service::{error::Error as ServiceError, Configuration, TaskManager, WarpSyncParams};
|
||||||
use sc_telemetry::{Telemetry, TelemetryWorker};
|
use sc_telemetry::{Telemetry, TelemetryWorker};
|
||||||
|
@ -46,13 +46,13 @@ pub fn new_partial(
|
||||||
sc_consensus::DefaultImportQueue<Block, FullClient>,
|
sc_consensus::DefaultImportQueue<Block, FullClient>,
|
||||||
sc_transaction_pool::FullPool<Block, FullClient>,
|
sc_transaction_pool::FullPool<Block, FullClient>,
|
||||||
(
|
(
|
||||||
sc_finality_grandpa::GrandpaBlockImport<
|
sc_consensus_grandpa::GrandpaBlockImport<
|
||||||
FullBackend,
|
FullBackend,
|
||||||
Block,
|
Block,
|
||||||
FullClient,
|
FullClient,
|
||||||
FullSelectChain,
|
FullSelectChain,
|
||||||
>,
|
>,
|
||||||
sc_finality_grandpa::LinkHalf<Block, FullClient, FullSelectChain>,
|
sc_consensus_grandpa::LinkHalf<Block, FullClient, FullSelectChain>,
|
||||||
Option<Telemetry>,
|
Option<Telemetry>,
|
||||||
),
|
),
|
||||||
>,
|
>,
|
||||||
|
@ -103,7 +103,7 @@ pub fn new_partial(
|
||||||
client.clone(),
|
client.clone(),
|
||||||
);
|
);
|
||||||
|
|
||||||
let (grandpa_block_import, grandpa_link) = sc_finality_grandpa::block_import(
|
let (grandpa_block_import, grandpa_link) = sc_consensus_grandpa::block_import(
|
||||||
client.clone(),
|
client.clone(),
|
||||||
&(client.clone() as Arc<_>),
|
&(client.clone() as Arc<_>),
|
||||||
select_chain.clone(),
|
select_chain.clone(),
|
||||||
|
@ -177,7 +177,7 @@ pub fn new_full(mut config: Configuration) -> Result<TaskManager, ServiceError>
|
||||||
))),
|
))),
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
let grandpa_protocol_name = sc_finality_grandpa::protocol_standard_name(
|
let grandpa_protocol_name = sc_consensus_grandpa::protocol_standard_name(
|
||||||
&client.block_hash(0).ok().flatten().expect("Genesis block exists; qed"),
|
&client.block_hash(0).ok().flatten().expect("Genesis block exists; qed"),
|
||||||
&config.chain_spec,
|
&config.chain_spec,
|
||||||
);
|
);
|
||||||
|
@ -185,14 +185,14 @@ pub fn new_full(mut config: Configuration) -> Result<TaskManager, ServiceError>
|
||||||
config
|
config
|
||||||
.network
|
.network
|
||||||
.extra_sets
|
.extra_sets
|
||||||
.push(sc_finality_grandpa::grandpa_peers_set_config(grandpa_protocol_name.clone()));
|
.push(sc_consensus_grandpa::grandpa_peers_set_config(grandpa_protocol_name.clone()));
|
||||||
let warp_sync = Arc::new(sc_finality_grandpa::warp_proof::NetworkProvider::new(
|
let warp_sync = Arc::new(sc_consensus_grandpa::warp_proof::NetworkProvider::new(
|
||||||
backend.clone(),
|
backend.clone(),
|
||||||
grandpa_link.shared_authority_set().clone(),
|
grandpa_link.shared_authority_set().clone(),
|
||||||
Vec::default(),
|
Vec::default(),
|
||||||
));
|
));
|
||||||
|
|
||||||
let (network, system_rpc_tx, tx_handler_controller, network_starter) =
|
let (network, system_rpc_tx, tx_handler_controller, network_starter, sync_service) =
|
||||||
sc_service::build_network(sc_service::BuildNetworkParams {
|
sc_service::build_network(sc_service::BuildNetworkParams {
|
||||||
config: &config,
|
config: &config,
|
||||||
client: client.clone(),
|
client: client.clone(),
|
||||||
|
@ -240,6 +240,7 @@ pub fn new_full(mut config: Configuration) -> Result<TaskManager, ServiceError>
|
||||||
backend,
|
backend,
|
||||||
system_rpc_tx,
|
system_rpc_tx,
|
||||||
tx_handler_controller,
|
tx_handler_controller,
|
||||||
|
sync_service: sync_service.clone(),
|
||||||
config,
|
config,
|
||||||
telemetry: telemetry.as_mut(),
|
telemetry: telemetry.as_mut(),
|
||||||
})?;
|
})?;
|
||||||
|
@ -276,8 +277,8 @@ pub fn new_full(mut config: Configuration) -> Result<TaskManager, ServiceError>
|
||||||
force_authoring,
|
force_authoring,
|
||||||
backoff_authoring_blocks,
|
backoff_authoring_blocks,
|
||||||
keystore: keystore_container.sync_keystore(),
|
keystore: keystore_container.sync_keystore(),
|
||||||
sync_oracle: network.clone(),
|
sync_oracle: sync_service.clone(),
|
||||||
justification_sync_link: network.clone(),
|
justification_sync_link: sync_service.clone(),
|
||||||
block_proposal_slot_portion: SlotProportion::new(2f32 / 3f32),
|
block_proposal_slot_portion: SlotProportion::new(2f32 / 3f32),
|
||||||
max_block_proposal_slot_portion: None,
|
max_block_proposal_slot_portion: None,
|
||||||
telemetry: telemetry.as_ref().map(|x| x.handle()),
|
telemetry: telemetry.as_ref().map(|x| x.handle()),
|
||||||
|
@ -298,7 +299,7 @@ pub fn new_full(mut config: Configuration) -> Result<TaskManager, ServiceError>
|
||||||
let keystore =
|
let keystore =
|
||||||
if role.is_authority() { Some(keystore_container.sync_keystore()) } else { None };
|
if role.is_authority() { Some(keystore_container.sync_keystore()) } else { None };
|
||||||
|
|
||||||
let grandpa_config = sc_finality_grandpa::Config {
|
let grandpa_config = sc_consensus_grandpa::Config {
|
||||||
// FIXME #1578 make this available through chainspec
|
// FIXME #1578 make this available through chainspec
|
||||||
gossip_duration: Duration::from_millis(333),
|
gossip_duration: Duration::from_millis(333),
|
||||||
justification_period: 512,
|
justification_period: 512,
|
||||||
|
@ -316,11 +317,12 @@ pub fn new_full(mut config: Configuration) -> Result<TaskManager, ServiceError>
|
||||||
// and vote data availability than the observer. The observer has not
|
// and vote data availability than the observer. The observer has not
|
||||||
// been tested extensively yet and having most nodes in a network run it
|
// been tested extensively yet and having most nodes in a network run it
|
||||||
// could lead to finality stalls.
|
// could lead to finality stalls.
|
||||||
let grandpa_config = sc_finality_grandpa::GrandpaParams {
|
let grandpa_config = sc_consensus_grandpa::GrandpaParams {
|
||||||
config: grandpa_config,
|
config: grandpa_config,
|
||||||
link: grandpa_link,
|
link: grandpa_link,
|
||||||
network,
|
network,
|
||||||
voting_rule: sc_finality_grandpa::VotingRulesBuilder::default().build(),
|
sync: Arc::new(sync_service),
|
||||||
|
voting_rule: sc_consensus_grandpa::VotingRulesBuilder::default().build(),
|
||||||
prometheus_registry,
|
prometheus_registry,
|
||||||
shared_voter_state: SharedVoterState::empty(),
|
shared_voter_state: SharedVoterState::empty(),
|
||||||
telemetry: telemetry.as_ref().map(|x| x.handle()),
|
telemetry: telemetry.as_ref().map(|x| x.handle()),
|
||||||
|
@ -331,7 +333,7 @@ pub fn new_full(mut config: Configuration) -> Result<TaskManager, ServiceError>
|
||||||
task_manager.spawn_essential_handle().spawn_blocking(
|
task_manager.spawn_essential_handle().spawn_blocking(
|
||||||
"grandpa-voter",
|
"grandpa-voter",
|
||||||
None,
|
None,
|
||||||
sc_finality_grandpa::run_grandpa_voter(grandpa_config)?,
|
sc_consensus_grandpa::run_grandpa_voter(grandpa_config)?,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -17,14 +17,14 @@ codec = { package = "parity-scale-codec", version = "3.2.2", default-features =
|
||||||
"derive",
|
"derive",
|
||||||
] }
|
] }
|
||||||
scale-info = { version = "2.1.1", default-features = false, features = ["derive"] }
|
scale-info = { version = "2.1.1", default-features = false, features = ["derive"] }
|
||||||
frame-benchmarking = { version = "4.0.0-dev", default-features = false, optional = true, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" }
|
frame-benchmarking = { version = "4.0.0-dev", default-features = false, optional = true, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.40" }
|
||||||
frame-support = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" }
|
frame-support = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.40" }
|
||||||
frame-system = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" }
|
frame-system = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.40" }
|
||||||
|
|
||||||
[dev-dependencies]
|
[dev-dependencies]
|
||||||
sp-core = { version = "7.0.0", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" }
|
sp-core = { version = "7.0.0", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.40" }
|
||||||
sp-io = { version = "7.0.0", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" }
|
sp-io = { version = "7.0.0", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.40" }
|
||||||
sp-runtime = { version = "7.0.0", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" }
|
sp-runtime = { version = "7.0.0", git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.40" }
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
default = ["std"]
|
default = ["std"]
|
||||||
|
|
|
@ -20,7 +20,6 @@ pub mod pallet {
|
||||||
use frame_system::pallet_prelude::*;
|
use frame_system::pallet_prelude::*;
|
||||||
|
|
||||||
#[pallet::pallet]
|
#[pallet::pallet]
|
||||||
#[pallet::generate_store(pub(super) trait Store)]
|
|
||||||
pub struct Pallet<T>(_);
|
pub struct Pallet<T>(_);
|
||||||
|
|
||||||
/// Configure the pallet by specifying the parameters and types on which it depends.
|
/// Configure the pallet by specifying the parameters and types on which it depends.
|
||||||
|
|
|
@ -16,42 +16,42 @@ targets = ["x86_64-unknown-linux-gnu"]
|
||||||
codec = { package = "parity-scale-codec", version = "3.2.2", default-features = false, features = ["derive"] }
|
codec = { package = "parity-scale-codec", version = "3.2.2", default-features = false, features = ["derive"] }
|
||||||
scale-info = { version = "2.1.1", default-features = false, features = ["derive"] }
|
scale-info = { version = "2.1.1", default-features = false, features = ["derive"] }
|
||||||
|
|
||||||
pallet-aura = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" }
|
pallet-aura = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.40" }
|
||||||
pallet-balances = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" }
|
pallet-balances = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.40" }
|
||||||
frame-support = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" }
|
frame-support = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.40" }
|
||||||
pallet-grandpa = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" }
|
pallet-grandpa = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.40" }
|
||||||
pallet-insecure-randomness-collective-flip = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" }
|
pallet-sudo = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.40" }
|
||||||
pallet-sudo = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" }
|
frame-system = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.40" }
|
||||||
frame-system = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" }
|
frame-try-runtime = { version = "0.10.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", optional = true , branch = "polkadot-v0.9.40" }
|
||||||
frame-try-runtime = { version = "0.10.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", optional = true , branch = "polkadot-v0.9.39" }
|
pallet-timestamp = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.40" }
|
||||||
pallet-timestamp = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" }
|
pallet-transaction-payment = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.40" }
|
||||||
pallet-transaction-payment = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" }
|
frame-executive = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.40" }
|
||||||
frame-executive = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" }
|
sp-api = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.40" }
|
||||||
sp-api = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" }
|
sp-block-builder = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.40" }
|
||||||
sp-block-builder = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" }
|
sp-consensus-aura = { version = "0.10.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.40" }
|
||||||
sp-consensus-aura = { version = "0.10.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" }
|
sp-consensus-grandpa = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.40" }
|
||||||
sp-core = { version = "7.0.0", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" }
|
sp-core = { version = "7.0.0", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.40" }
|
||||||
sp-inherents = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" }
|
sp-inherents = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.40" }
|
||||||
sp-offchain = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" }
|
sp-offchain = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.40" }
|
||||||
sp-runtime = { version = "7.0.0", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" }
|
sp-runtime = { version = "7.0.0", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.40" }
|
||||||
sp-session = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" }
|
sp-session = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.40" }
|
||||||
sp-std = { version = "5.0.0", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" }
|
sp-std = { version = "5.0.0", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.40" }
|
||||||
sp-transaction-pool = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" }
|
sp-transaction-pool = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.40" }
|
||||||
sp-version = { version = "5.0.0", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" }
|
sp-version = { version = "5.0.0", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.40" }
|
||||||
|
|
||||||
# Used for the node template's RPCs
|
# Used for the node template's RPCs
|
||||||
frame-system-rpc-runtime-api = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" }
|
frame-system-rpc-runtime-api = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.40" }
|
||||||
pallet-transaction-payment-rpc-runtime-api = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.39" }
|
pallet-transaction-payment-rpc-runtime-api = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.40" }
|
||||||
|
|
||||||
# Used for runtime benchmarking
|
# Used for runtime benchmarking
|
||||||
frame-benchmarking = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", optional = true , branch = "polkadot-v0.9.39" }
|
frame-benchmarking = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", optional = true , branch = "polkadot-v0.9.40" }
|
||||||
frame-system-benchmarking = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", optional = true , branch = "polkadot-v0.9.39" }
|
frame-system-benchmarking = { version = "4.0.0-dev", default-features = false, git = "https://github.com/paritytech/substrate.git", optional = true , branch = "polkadot-v0.9.40" }
|
||||||
|
|
||||||
# Local Dependencies
|
# Local Dependencies
|
||||||
pallet-template = { version = "4.0.0-dev", default-features = false, path = "../pallets/template" }
|
pallet-template = { version = "4.0.0-dev", default-features = false, path = "../pallets/template" }
|
||||||
|
|
||||||
[build-dependencies]
|
[build-dependencies]
|
||||||
substrate-wasm-builder = { version = "5.0.0-dev", git = "https://github.com/paritytech/substrate.git", optional = true , branch = "polkadot-v0.9.39" }
|
substrate-wasm-builder = { version = "5.0.0-dev", git = "https://github.com/paritytech/substrate.git", optional = true , branch = "polkadot-v0.9.40" }
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
default = ["std"]
|
default = ["std"]
|
||||||
|
@ -69,7 +69,6 @@ std = [
|
||||||
"pallet-aura/std",
|
"pallet-aura/std",
|
||||||
"pallet-balances/std",
|
"pallet-balances/std",
|
||||||
"pallet-grandpa/std",
|
"pallet-grandpa/std",
|
||||||
"pallet-insecure-randomness-collective-flip/std",
|
|
||||||
"pallet-sudo/std",
|
"pallet-sudo/std",
|
||||||
"pallet-template/std",
|
"pallet-template/std",
|
||||||
"pallet-timestamp/std",
|
"pallet-timestamp/std",
|
||||||
|
@ -78,6 +77,7 @@ std = [
|
||||||
"sp-api/std",
|
"sp-api/std",
|
||||||
"sp-block-builder/std",
|
"sp-block-builder/std",
|
||||||
"sp-consensus-aura/std",
|
"sp-consensus-aura/std",
|
||||||
|
"sp-consensus-grandpa/std",
|
||||||
"sp-core/std",
|
"sp-core/std",
|
||||||
"sp-inherents/std",
|
"sp-inherents/std",
|
||||||
"sp-offchain/std",
|
"sp-offchain/std",
|
||||||
|
@ -107,7 +107,6 @@ try-runtime = [
|
||||||
"pallet-aura/try-runtime",
|
"pallet-aura/try-runtime",
|
||||||
"pallet-balances/try-runtime",
|
"pallet-balances/try-runtime",
|
||||||
"pallet-grandpa/try-runtime",
|
"pallet-grandpa/try-runtime",
|
||||||
"pallet-insecure-randomness-collective-flip/try-runtime",
|
|
||||||
"pallet-sudo/try-runtime",
|
"pallet-sudo/try-runtime",
|
||||||
"pallet-template/try-runtime",
|
"pallet-template/try-runtime",
|
||||||
"pallet-timestamp/try-runtime",
|
"pallet-timestamp/try-runtime",
|
||||||
|
|
|
@ -6,9 +6,7 @@
|
||||||
#[cfg(feature = "std")]
|
#[cfg(feature = "std")]
|
||||||
include!(concat!(env!("OUT_DIR"), "/wasm_binary.rs"));
|
include!(concat!(env!("OUT_DIR"), "/wasm_binary.rs"));
|
||||||
|
|
||||||
use pallet_grandpa::{
|
use pallet_grandpa::AuthorityId as GrandpaId;
|
||||||
fg_primitives, AuthorityId as GrandpaId, AuthorityList as GrandpaAuthorityList,
|
|
||||||
};
|
|
||||||
use sp_api::impl_runtime_apis;
|
use sp_api::impl_runtime_apis;
|
||||||
use sp_consensus_aura::sr25519::AuthorityId as AuraId;
|
use sp_consensus_aura::sr25519::AuthorityId as AuraId;
|
||||||
use sp_core::{crypto::KeyTypeId, OpaqueMetadata};
|
use sp_core::{crypto::KeyTypeId, OpaqueMetadata};
|
||||||
|
@ -205,8 +203,6 @@ impl frame_system::Config for Runtime {
|
||||||
type MaxConsumers = frame_support::traits::ConstU32<16>;
|
type MaxConsumers = frame_support::traits::ConstU32<16>;
|
||||||
}
|
}
|
||||||
|
|
||||||
impl pallet_insecure_randomness_collective_flip::Config for Runtime {}
|
|
||||||
|
|
||||||
impl pallet_aura::Config for Runtime {
|
impl pallet_aura::Config for Runtime {
|
||||||
type AuthorityId = AuraId;
|
type AuthorityId = AuraId;
|
||||||
type DisabledValidators = ();
|
type DisabledValidators = ();
|
||||||
|
@ -216,21 +212,12 @@ impl pallet_aura::Config for Runtime {
|
||||||
impl pallet_grandpa::Config for Runtime {
|
impl pallet_grandpa::Config for Runtime {
|
||||||
type RuntimeEvent = RuntimeEvent;
|
type RuntimeEvent = RuntimeEvent;
|
||||||
|
|
||||||
type KeyOwnerProofSystem = ();
|
|
||||||
|
|
||||||
type KeyOwnerProof =
|
|
||||||
<Self::KeyOwnerProofSystem as KeyOwnerProofSystem<(KeyTypeId, GrandpaId)>>::Proof;
|
|
||||||
|
|
||||||
type KeyOwnerIdentification = <Self::KeyOwnerProofSystem as KeyOwnerProofSystem<(
|
|
||||||
KeyTypeId,
|
|
||||||
GrandpaId,
|
|
||||||
)>>::IdentificationTuple;
|
|
||||||
|
|
||||||
type HandleEquivocation = ();
|
|
||||||
|
|
||||||
type WeightInfo = ();
|
type WeightInfo = ();
|
||||||
type MaxAuthorities = ConstU32<32>;
|
type MaxAuthorities = ConstU32<32>;
|
||||||
type MaxSetIdSessionEntries = ConstU64<0>;
|
type MaxSetIdSessionEntries = ConstU64<0>;
|
||||||
|
|
||||||
|
type KeyOwnerProof = sp_core::Void;
|
||||||
|
type EquivocationReportSystem = ();
|
||||||
}
|
}
|
||||||
|
|
||||||
impl pallet_timestamp::Config for Runtime {
|
impl pallet_timestamp::Config for Runtime {
|
||||||
|
@ -290,7 +277,6 @@ construct_runtime!(
|
||||||
UncheckedExtrinsic = UncheckedExtrinsic,
|
UncheckedExtrinsic = UncheckedExtrinsic,
|
||||||
{
|
{
|
||||||
System: frame_system,
|
System: frame_system,
|
||||||
RandomnessCollectiveFlip: pallet_insecure_randomness_collective_flip,
|
|
||||||
Timestamp: pallet_timestamp,
|
Timestamp: pallet_timestamp,
|
||||||
Aura: pallet_aura,
|
Aura: pallet_aura,
|
||||||
Grandpa: pallet_grandpa,
|
Grandpa: pallet_grandpa,
|
||||||
|
@ -429,29 +415,29 @@ impl_runtime_apis! {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl fg_primitives::GrandpaApi<Block> for Runtime {
|
impl sp_consensus_grandpa::GrandpaApi<Block> for Runtime {
|
||||||
fn grandpa_authorities() -> GrandpaAuthorityList {
|
fn grandpa_authorities() -> sp_consensus_grandpa::AuthorityList {
|
||||||
Grandpa::grandpa_authorities()
|
Grandpa::grandpa_authorities()
|
||||||
}
|
}
|
||||||
|
|
||||||
fn current_set_id() -> fg_primitives::SetId {
|
fn current_set_id() -> sp_consensus_grandpa::SetId {
|
||||||
Grandpa::current_set_id()
|
Grandpa::current_set_id()
|
||||||
}
|
}
|
||||||
|
|
||||||
fn submit_report_equivocation_unsigned_extrinsic(
|
fn submit_report_equivocation_unsigned_extrinsic(
|
||||||
_equivocation_proof: fg_primitives::EquivocationProof<
|
_equivocation_proof: sp_consensus_grandpa::EquivocationProof<
|
||||||
<Block as BlockT>::Hash,
|
<Block as BlockT>::Hash,
|
||||||
NumberFor<Block>,
|
NumberFor<Block>,
|
||||||
>,
|
>,
|
||||||
_key_owner_proof: fg_primitives::OpaqueKeyOwnershipProof,
|
_key_owner_proof: sp_consensus_grandpa::OpaqueKeyOwnershipProof,
|
||||||
) -> Option<()> {
|
) -> Option<()> {
|
||||||
None
|
None
|
||||||
}
|
}
|
||||||
|
|
||||||
fn generate_key_ownership_proof(
|
fn generate_key_ownership_proof(
|
||||||
_set_id: fg_primitives::SetId,
|
_set_id: sp_consensus_grandpa::SetId,
|
||||||
_authority_id: GrandpaId,
|
_authority_id: GrandpaId,
|
||||||
) -> Option<fg_primitives::OpaqueKeyOwnershipProof> {
|
) -> Option<sp_consensus_grandpa::OpaqueKeyOwnershipProof> {
|
||||||
// NOTE: this is the only implementation possible since we've
|
// NOTE: this is the only implementation possible since we've
|
||||||
// defined our key owner proof type as a bottom type (i.e. a type
|
// defined our key owner proof type as a bottom type (i.e. a type
|
||||||
// with no values).
|
// with no values).
|
||||||
|
|
Loading…
Reference in New Issue