Skip to content

Commit

Permalink
Update to 1.14.0 triggered by workflow_dispatch
Browse files Browse the repository at this point in the history
  • Loading branch information
1 parent 9b47a47 commit 91e66fc
Show file tree
Hide file tree
Showing 11 changed files with 941 additions and 714 deletions.
1,448 changes: 820 additions & 628 deletions Cargo.lock

Large diffs are not rendered by default.

39 changes: 39 additions & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,43 @@ members = [
resolver = "2"

[workspace.dependencies]
minimal-template-runtime = { path = "./runtime", default-features = false }
pallet-minimal-template = { path = "./pallets/template", default-features = false }
clap = { version = "4.5.3" }
docify = { version = "0.2.8" }
frame = { version = "0.5.0", default-features = false, package = "polkadot-sdk-frame" }
futures = { version = "0.3.30" }
futures-timer = { version = "3.0.2" }
jsonrpsee = { version = "0.23.2" }
sc-basic-authorship = { version = "0.42.0", default-features = false }
sc-cli = { version = "0.44.0", default-features = false }
sc-client-api = { version = "35.1.0", default-features = false }
sc-consensus = { version = "0.41.0", default-features = false }
sc-consensus-manual-seal = { version = "0.43.0", default-features = false }
sc-executor = { version = "0.39.0", default-features = false }
sc-network = { version = "0.42.0", default-features = false }
sc-offchain = { version = "37.0.0", default-features = false }
sc-rpc-api = { version = "0.41.0", default-features = false }
sc-service = { version = "0.43.0", default-features = false }
sc-telemetry = { version = "22.0.0", default-features = false }
sc-transaction-pool = { version = "35.0.0", default-features = false }
sc-transaction-pool-api = { version = "35.0.0", default-features = false }
serde_json = { version = "1.0.114", default-features = false }
sp-api = { version = "33.0.0", default-features = false }
sp-block-builder = { version = "33.0.0", default-features = false }
sp-blockchain = { version = "35.1.0", default-features = false }
sp-io = { version = "37.0.0", default-features = false }
sp-keyring = { version = "38.0.0", default-features = false }
sp-runtime = { version = "38.0.0", default-features = false }
sp-timestamp = { version = "33.0.0", default-features = false }
substrate-frame-rpc-system = { version = "36.0.0", default-features = false }
substrate-build-script-utils = { version = "11.0.0", default-features = false }
codec = { version = "3.6.12", default-features = false, package = "parity-scale-codec" }
pallet-balances = { version = "37.0.0", default-features = false }
pallet-sudo = { version = "36.0.0", default-features = false }
pallet-timestamp = { version = "35.0.0", default-features = false }
pallet-transaction-payment = { version = "36.0.0", default-features = false }
pallet-transaction-payment-rpc-runtime-api = { version = "36.0.0", default-features = false }
scale-info = { version = "2.11.1", default-features = false }
sp-genesis-builder = { version = "0.14.0", default-features = false }
substrate-wasm-builder = { version = "23.0.0", default-features = false }
31 changes: 16 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,13 @@
</div>

🤏 This template is a minimal (in terms of complexity and the number of components) template for building a blockchain node.
* 🤏 This template is a minimal (in terms of complexity and the number of components)
template for building a blockchain node.

🔧 Its runtime is configured of a single custom pallet as a starting point, and a handful of ready-made pallets
* 🔧 Its runtime is configured of a single custom pallet as a starting point, and a handful of ready-made pallets
such as a [Balances pallet](https://paritytech.github.io/polkadot-sdk/master/pallet_balances/index.html).

👤 The template has no consensus configured - it is best for experimenting with a single node network.
* 👤 The template has no consensus configured - it is best for experimenting with a single node network.

## Template Structure

Expand All @@ -28,12 +29,12 @@ A Polkadot SDK based project such as this one consists of:

## Getting Started

🦀 The template is using the Rust language.
* 🦀 The template is using the Rust language.

👉 Check the
* 👉 Check the
[Rust installation instructions](https://www.rust-lang.org/tools/install) for your system.

🛠️ Depending on your operating system and Rust version, there might be additional
* 🛠️ Depending on your operating system and Rust version, there might be additional
packages required to compile this template - please take note of the Rust compiler output.

### Build
Expand Down Expand Up @@ -69,32 +70,32 @@ Development chains:

### Connect with the Polkadot-JS Apps Front-End

🌐 You can interact with your local node using the
* 🌐 You can interact with your local node using the
hosted version of the [Polkadot/Substrate
Portal](https://polkadot.js.org/apps/#/explorer?rpc=ws://localhost:9944).

🪐 A hosted version is also
* 🪐 A hosted version is also
available on [IPFS](https://dotapps.io/).

🧑‍🔧 You can also find the source code and instructions for hosting your own instance in the
* 🧑‍🔧 You can also find the source code and instructions for hosting your own instance in the
[`polkadot-js/apps`](/~https://github.com/polkadot-js/apps) repository.

## Contributing

🔄 This template is automatically updated after releases in the main [Polkadot SDK monorepo](/~https://github.com/paritytech/polkadot-sdk).
* 🔄 This template is automatically updated after releases in the main [Polkadot SDK monorepo](/~https://github.com/paritytech/polkadot-sdk).

➡️ Any pull requests should be directed to this [source](/~https://github.com/paritytech/polkadot-sdk/tree/master/templates/minimal).
* ➡️ Any pull requests should be directed to this [source](/~https://github.com/paritytech/polkadot-sdk/tree/master/templates/minimal).

😇 Please refer to the monorepo's
* 😇 Please refer to the monorepo's
[contribution guidelines](/~https://github.com/paritytech/polkadot-sdk/blob/master/docs/contributor/CONTRIBUTING.md) and
[Code of Conduct](/~https://github.com/paritytech/polkadot-sdk/blob/master/docs/contributor/CODE_OF_CONDUCT.md).

## Getting Help

🧑‍🏫 To learn about Polkadot in general, [Polkadot.network](https://polkadot.network/) website is a good starting point.
* 🧑‍🏫 To learn about Polkadot in general, [Polkadot.network](https://polkadot.network/) website is a good starting point.

🧑‍🔧 For technical introduction, [here](/~https://github.com/paritytech/polkadot-sdk#-documentation) are
* 🧑‍🔧 For technical introduction, [here](/~https://github.com/paritytech/polkadot-sdk#-documentation) are
the Polkadot SDK documentation resources.

👥 Additionally, there are [GitHub issues](/~https://github.com/paritytech/polkadot-sdk/issues) and
* 👥 Additionally, there are [GitHub issues](/~https://github.com/paritytech/polkadot-sdk/issues) and
[Substrate StackExchange](https://substrate.stackexchange.com/).
62 changes: 30 additions & 32 deletions node/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "minimal-template-node"
description = "A minimal Substrate-based Substrate node, ready for hacking. (polkadot v1.13.0)"
description = "A minimal Substrate-based Substrate node, ready for hacking. (polkadot v1.14.0)"
version = "0.1.0"
license = "Unlicense"
authors.workspace = true
Expand All @@ -14,40 +14,38 @@ build = "build.rs"
targets = ["x86_64-unknown-linux-gnu"]

[dependencies]
clap = { version = "4.5.3", features = ["derive"] }
futures = { version = "0.3.30", features = ["thread-pool"] }
futures-timer = "3.0.1"
jsonrpsee = { version = "0.22", features = ["server"] }
docify = { workspace = true }
clap = { features = ["derive"], workspace = true }
futures = { features = ["thread-pool"], workspace = true }
futures-timer = { workspace = true }
jsonrpsee = { features = ["server"], workspace = true }
serde_json = { workspace = true, default-features = true }
sc-cli = { version = "0.43.0" }
sc-executor = { version = "0.39.0" }
sc-network = { version = "0.41.0" }
sc-service = { version = "0.42.0" }
sc-telemetry = { version = "21.0.0" }
sc-transaction-pool = { version = "35.0.0" }
sc-transaction-pool-api = { version = "35.0.0" }
sc-consensus = { version = "0.40.0" }
sc-consensus-manual-seal = { version = "0.42.0" }
sc-rpc-api = { version = "0.40.0" }
sc-basic-authorship = { version = "0.41.0" }
sc-offchain = { version = "36.0.0" }
sc-client-api = { version = "35.0.0" }
sp-timestamp = { version = "33.0.0" }
sp-keyring = { version = "38.0.0" }
sp-api = { version = "33.0.0" }
sp-blockchain = { version = "35.0.0" }
sp-block-builder = { version = "33.0.0" }
sp-io = { version = "37.0.0" }
sp-runtime = { version = "38.0.0" }
substrate-frame-rpc-system = { version = "35.0.0" }

# Once the native runtime is gone, there should be little to no dependency on FRAME here, and
# certainly no dependency on the runtime.
frame = { version = "0.4.0", package = "polkadot-sdk-frame", features = ["experimental", "runtime"] }
runtime = { package = "minimal-template-runtime", path = "../runtime", version = "0.1.0" }
sc-cli = { version = "0.44.0", workspace = true, default-features = true }
sc-executor = { version = "0.39.0", workspace = true, default-features = true }
sc-network = { version = "0.42.0", workspace = true, default-features = true }
sc-service = { version = "0.43.0", workspace = true, default-features = true }
sc-telemetry = { version = "22.0.0", workspace = true, default-features = true }
sc-transaction-pool = { version = "35.0.0", workspace = true, default-features = true }
sc-transaction-pool-api = { version = "35.0.0", workspace = true, default-features = true }
sc-consensus = { version = "0.41.0", workspace = true, default-features = true }
sc-consensus-manual-seal = { version = "0.43.0", workspace = true, default-features = true }
sc-rpc-api = { version = "0.41.0", workspace = true, default-features = true }
sc-basic-authorship = { version = "0.42.0", workspace = true, default-features = true }
sc-offchain = { version = "37.0.0", workspace = true, default-features = true }
sc-client-api = { version = "35.1.0", workspace = true, default-features = true }
sp-timestamp = { version = "33.0.0", workspace = true, default-features = true }
sp-keyring = { version = "38.0.0", workspace = true, default-features = true }
sp-api = { version = "33.0.0", workspace = true, default-features = true }
sp-blockchain = { version = "35.1.0", workspace = true, default-features = true }
sp-block-builder = { version = "33.0.0", workspace = true, default-features = true }
sp-io = { version = "37.0.0", workspace = true, default-features = true }
sp-runtime = { version = "38.0.0", workspace = true, default-features = true }
substrate-frame-rpc-system = { version = "36.0.0", workspace = true, default-features = true }
frame = { features = ["experimental", "runtime"], workspace = true, default-features = true }
minimal-template-runtime = { version = "0.1.0", workspace = true }

[build-dependencies]
substrate-build-script-utils = { version = "11.0.0" }
substrate-build-script-utils = { version = "11.0.0", workspace = true, default-features = true }

[features]
default = []
4 changes: 2 additions & 2 deletions node/src/chain_spec.rs
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.

use runtime::{BalancesConfig, SudoConfig, WASM_BINARY};
use minimal_template_runtime::{BalancesConfig, SudoConfig, WASM_BINARY};
use sc_service::{ChainType, Properties};
use serde_json::{json, Value};
use sp_keyring::AccountKeyring;
Expand Down Expand Up @@ -43,7 +43,7 @@ pub fn development_config() -> Result<ChainSpec, String> {
/// Configure initial storage state for FRAME pallets.
fn testnet_genesis() -> Value {
use frame::traits::Get;
use runtime::interface::{Balance, MinimumBalance};
use minimal_template_runtime::interface::{Balance, MinimumBalance};
let endowment = <MinimumBalance as Get<Balance>>::get().max(1) * 1000;
let balances = AccountKeyring::iter()
.map(|a| (a.to_account_id(), endowment))
Expand Down
4 changes: 3 additions & 1 deletion node/src/command.rs
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,9 @@ pub fn run() -> sc_cli::Result<()> {
},
Some(Subcommand::ChainInfo(cmd)) => {
let runner = cli.create_runner(cmd)?;
runner.sync_run(|config| cmd.run::<runtime::interface::OpaqueBlock>(&config))
runner.sync_run(|config| {
cmd.run::<minimal_template_runtime::interface::OpaqueBlock>(&config)
})
},
None => {
let runner = cli.create_runner(&cli.run)?;
Expand Down
5 changes: 3 additions & 2 deletions node/src/rpc.rs
Original file line number Diff line number Diff line change
Expand Up @@ -23,11 +23,10 @@
#![warn(missing_docs)]

use jsonrpsee::RpcModule;
use runtime::interface::{AccountId, Nonce, OpaqueBlock};
use minimal_template_runtime::interface::{AccountId, Nonce, OpaqueBlock};
use sc_transaction_pool_api::TransactionPool;
use sp_blockchain::{Error as BlockChainError, HeaderBackend, HeaderMetadata};
use std::sync::Arc;
use substrate_frame_rpc_system::{System, SystemApiServer};

pub use sc_rpc_api::DenyUnsafe;

Expand All @@ -41,6 +40,7 @@ pub struct FullDeps<C, P> {
pub deny_unsafe: DenyUnsafe,
}

#[docify::export]
/// Instantiate all full RPC extensions.
pub fn create_full<C, P>(
deps: FullDeps<C, P>,
Expand All @@ -57,6 +57,7 @@ where
C::Api: substrate_frame_rpc_system::AccountNonceApi<OpaqueBlock, AccountId, Nonce>,
P: TransactionPool + 'static,
{
use substrate_frame_rpc_system::{System, SystemApiServer};
let mut module = RpcModule::new(());
let FullDeps { client, pool, deny_unsafe } = deps;

Expand Down
4 changes: 3 additions & 1 deletion node/src/service.rs
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
// limitations under the License.

use futures::FutureExt;
use runtime::{self, interface::OpaqueBlock as Block, RuntimeApi};
use minimal_template_runtime::{interface::OpaqueBlock as Block, RuntimeApi};
use sc_client_api::backend::Backend;
use sc_executor::WasmExecutor;
use sc_service::{error::Error as ServiceError, Configuration, TaskManager};
Expand All @@ -34,8 +34,10 @@ type HostFunctions =
#[cfg(not(feature = "runtime-benchmarks"))]
type HostFunctions = sp_io::SubstrateHostFunctions;

#[docify::export]
pub(crate) type FullClient =
sc_service::TFullClient<Block, RuntimeApi, WasmExecutor<HostFunctions>>;

type FullBackend = sc_service::TFullBackend<Block>;
type FullSelectChain = sc_consensus::LongestChain<FullBackend, Block>;

Expand Down
12 changes: 6 additions & 6 deletions pallets/template/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "pallet-minimal-template"
description = "A minimal pallet built with FRAME, part of Polkadot Sdk. (polkadot v1.13.0)"
description = "A minimal pallet built with FRAME, part of Polkadot Sdk. (polkadot v1.14.0)"
version = "0.1.0"
license = "Unlicense"
authors.workspace = true
Expand All @@ -13,13 +13,13 @@ publish = false
targets = ["x86_64-unknown-linux-gnu"]

[dependencies]
codec = { package = "parity-scale-codec", version = "3.6.12", features = [
codec = { features = [
"derive",
], default-features = false }
scale-info = { version = "2.11.1", default-features = false, features = [
], workspace = true }
scale-info = { features = [
"derive",
] }
frame = { version = "0.4.0", package = "polkadot-sdk-frame", default-features = false, features = ["experimental", "runtime"] }
], workspace = true }
frame = { features = ["experimental", "runtime"], workspace = true }


[features]
Expand Down
34 changes: 13 additions & 21 deletions runtime/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "minimal-template-runtime"
description = "A solochain runtime template built with Substrate, part of Polkadot Sdk. (polkadot v1.13.0)"
description = "A solochain runtime template built with Substrate, part of Polkadot Sdk. (polkadot v1.14.0)"
version = "0.1.0"
license = "Unlicense"
authors.workspace = true
Expand All @@ -10,28 +10,20 @@ edition.workspace = true
publish = false

[dependencies]
codec = { package = "parity-scale-codec", version = "3.6.12", default-features = false }
scale-info = { version = "2.6.0", default-features = false }

# this is a frame-based runtime, thus importing `frame` with runtime feature enabled.
frame = { version = "0.4.0", package = "polkadot-sdk-frame", default-features = false, features = ["experimental", "runtime"] }

# pallets that we want to use
pallet-balances = { version = "36.0.0", default-features = false }
pallet-sudo = { version = "35.0.0", default-features = false }
pallet-timestamp = { version = "34.0.0", default-features = false }
pallet-transaction-payment = { version = "35.0.0", default-features = false }
pallet-transaction-payment-rpc-runtime-api = { version = "35.0.0", default-features = false }

# genesis builder that allows us to interact with runtime genesis config
sp-genesis-builder = { version = "0.14.0", default-features = false }
sp-runtime = { version = "38.0.0", default-features = false, features = ["serde"] }

# local pallet templates
pallet-minimal-template = { path = "../pallets/template", default-features = false, version = "0.1.0" }
codec = { workspace = true }
scale-info = { workspace = true }
frame = { features = ["experimental", "runtime"], workspace = true }
pallet-balances = { version = "37.0.0", workspace = true }
pallet-sudo = { version = "36.0.0", workspace = true }
pallet-timestamp = { version = "35.0.0", workspace = true }
pallet-transaction-payment = { version = "36.0.0", workspace = true }
pallet-transaction-payment-rpc-runtime-api = { version = "36.0.0", workspace = true }
sp-genesis-builder = { version = "0.14.0", workspace = true }
sp-runtime = { version = "38.0.0", features = ["serde"], workspace = true }
pallet-minimal-template = { version = "0.1.0", workspace = true }

[build-dependencies]
substrate-wasm-builder = { version = "23.0.0", optional = true }
substrate-wasm-builder = { version = "23.0.0", optional = true, workspace = true, default-features = true }

[features]
default = ["std"]
Expand Down
12 changes: 6 additions & 6 deletions runtime/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -99,27 +99,27 @@ mod runtime {

/// Mandatory system pallet that should always be included in a FRAME runtime.
#[runtime::pallet_index(0)]
pub type System = frame_system;
pub type System = frame_system::Pallet<Runtime>;

/// Provides a way for consensus systems to set and check the onchain time.
#[runtime::pallet_index(1)]
pub type Timestamp = pallet_timestamp;
pub type Timestamp = pallet_timestamp::Pallet<Runtime>;

/// Provides the ability to keep track of balances.
#[runtime::pallet_index(2)]
pub type Balances = pallet_balances;
pub type Balances = pallet_balances::Pallet<Runtime>;

/// Provides a way to execute privileged functions.
#[runtime::pallet_index(3)]
pub type Sudo = pallet_sudo;
pub type Sudo = pallet_sudo::Pallet<Runtime>;

/// Provides the ability to charge for extrinsic execution.
#[runtime::pallet_index(4)]
pub type TransactionPayment = pallet_transaction_payment;
pub type TransactionPayment = pallet_transaction_payment::Pallet<Runtime>;

/// A minimal pallet template.
#[runtime::pallet_index(5)]
pub type Template = pallet_minimal_template;
pub type Template = pallet_minimal_template::Pallet<Runtime>;
}

parameter_types! {
Expand Down

0 comments on commit 91e66fc

Please sign in to comment.