A Substrate-based blockchain node built with the FRAME Suite ecosystem.
The current FRAME Suite provides modular staking primitives, composed of reusable roles, bonding, orchestration, and behavior models.
This node currently integrates the following FRAME Suite primitives:
frame_suite: core traits, abstractions, and semanticsframe_plugins: pluggable behaviour modelspallet_xp: non-monetary quantifiable reputation systempallet_commitment: economic bonding primitivespallet_authors: block authors role & stake managementpallet_chain_manager: validator orchestration
This set may evolve over time as new primitives are added to
frame_suiteand integrated into the node.
Build the node:
cargo build --releaseFor development (enables additional logging, debugging, and optional features):
cargo build --release --features devStart a local development chain:
./target/release/frame-suite-node --devcargo run --release --features dev -- --dev./target/release/frame-suite-node purge-chain --devRUST_BACKTRACE=1 ./target/release/frame-suite-node --dev -l debugThe node/ directory defines:
- networking (libp2p)
- consensus integration
- RPC interface
Key files:
- service.rs: node service and consensus setup.
- rpc.rs: RPC API definitions.
- command.rs: CLI command execution.
- cli.rs: CLI structure and subcommands.
- chain_spec.rs: chain configuration.
The runtime defines blockchain logic:
- located in
runtime/src/lib.rs - composed using FRAME pallets
- configured via
impl Configblocks
Key files:
- lib.rs: Main runtime file and pallet setup.
- apis.rs Runtime API implementations.
- mod.rs: Runtime configuration for pallets.
- genesis_config_presets.rs: Genesis accounts & pallet bootstrap-values.
Custom pallets are located in pallets/:
- define storage, extrinsics, and logic
- are composed into the runtime
The frame/ directory contains supporting crates used across the runtime:
frame/suite: core traits and abstractionsframe/plugins: plugin models for configuring behavior
They act as the foundation layer, while pallets provide concrete runtime behavior.
To:
Logical behaviors are configurable via frame_plugins.
These are selected at the runtime level.
The dev feature enables:
- additional logging and event emissions
- debugging utilities via extrinsics
- optional development configurations
Use it during development:
cargo build --features devConnect using Polkadot.js Apps:
ws://127.0.0.1:9944Please refer to generated Cargo-Docs for pallets and frame-utilities rust-documentation.
Please refer to CONTRIBUTING.md for contribution guidelines.
MPL-2.0 (Mozilla Public License)
An Open-Source initiative by Auguth Labs (OPC) Pvt Ltd, India