Overview of the Aura Module
masterTimestamp module to track consensus rounds via slots.repository·master·Indexed 27 days ago
https://github.com/paritytech/substrateA next-generation framework for blockchain innovation. This legacy version of the framework has been consolidated into the Polkadot SDK, merging Substrate, Cumulus, and Polkadot into a single codebase. It includes tools for building node templates, configuring runtime pallets via FRAME, managing chain genesis state, and utilities like subkey for account generation and signature verification.
Timestamp module to track consensus rounds via slots.The pallet-bounties module manages bounty spending proposals, which are rewards earmarked from the Treasury for specific bodies of work or objectives.
Key Workflow:
Important Constraints:
pallet-treasury.ChildBountyManager, a parent bounty cannot be closed if it has any active child bounties.The Session pallet enables validators to manage their session keys, control session lengths, and handle session rotation. It manages the transition between validator sets and provides mechanisms for both 'normal' (rewardable) and 'exceptional' (slashable) session rotations.
ShouldEndSession trait.set_keys for use in the session after next. They are stored in NextKeys and can be set before an account is even selected as a validator.ShouldEndSession. If a session ends, new validator IDs and keys are activated from storage.The Contracts module enables the runtime to deploy and execute WebAssembly (Wasm) smart contracts. It extends accounts that implement the frame_support::traits::fungible trait, allowing them to become 'smart-contract accounts'.
Key features:
code_hash, allowing multiple contract instances to share the same underlying code.The Multisig module enables multi-signature dispatch, allowing multiple signed origins (accounts) to coordinate and dispatch a call from a well-known origin. This origin is deterministically derived from the set of account IDs and a specified threshold number of accounts required for approval.
This is particularly useful for implementing multisig wallets in environments where cryptographic threshold signatures are unavailable or not desired. If the threshold is set to one, the operation becomes stateless.
The Staking module manages funds placed under deposit by network maintainers (validators/authorities). It facilitates the process of locking up funds to become a rewarded maintainer, while risking those funds through 'slashing' (expropriation) if duties are not performed correctly.
Key concepts include:
authority-discovery module provides the necessary logic for the client/authority-discovery component to retrieve the current set of authorities in the network. It is used to identify which nodes are currently authorized to participate in consensus.The Statement Store is an off-chain data-store designed for signed statements. It is accessible via RPC and Off-Chain Workers (OCW). Nodes maintain statements that include a proof of authenticity linked to an account ID.
Key Access Methods:
NewStatement system event. When using this method, the statement is accompanied by the block hash and the event index, which serves as the proof of authenticity.The scheduler module provides capabilities for scheduling dispatches to occur at a specific block number or at a specified period. Dispatches can be named for easier identification or anonymous. They can also be canceled before they are executed.
Important Security Note on Call Filters:
Scheduled calls are dispatched using the default filter for the origin: frame_system::Config::BaseCallFilter for all origins except root (which receives no filter). Even if a call was originally scheduled using a proxy or another mechanism that applied a specific filter, that original filter is not used during dispatch. The dispatch relies on the system's base call filter.
transaction-storage-proof primitives package provides the necessary types and foundational code required to extract storage proofs for indexed transactions. This is used to verify that specific storage values were present or changed during a transaction execution.