#
pezkuwi_sdk_docs/reference_docs/
mod.rs

    1//! # Pezkuwi SDK Reference Docs.
    2//!
    3//! This is the entry point for all reference documents that enhance one's learning experience in
    4//! the Pezkuwi SDK.
    5//!
    6//! Note that this module also contains the [glossary](crate::reference_docs::glossary).
    7//!
    8//! ## What is a "reference document"?
    9//!
    10//! First, see [why we use rust-docs for everything](crate::meta_contributing#why-rust-docs) and our
    11//! documentation [principles](crate::meta_contributing#principles). We acknowledge that as much of
    12//! the crucial information should be embedded in the low level rust-docs. Then, high level
    13//! scenarios should be covered in [`crate::guides`]. Finally, we acknowledge that there is a
    14//! category of information that is:
    15//!
    16//! 1. Crucial to know.
    17//! 2. Is too high level to be in the rust-doc of any one `type`, `trait` or `fn`.
    18//! 3. Is too low level to be encompassed in a [`crate::guides`].
    19//!
    20//! We call this class of documents "reference documents". Our goal should be to minimize the number
    21//! of "reference" docs, as they incur maintenance burden.
    22
    23/// Learn how Substrate and FRAME use traits and associated types to make modules generic in a
    24/// type-safe manner.
    25pub mod trait_based_programming;
    26
    27/// Learn about the way Substrate and FRAME view their blockchains as state machines.
    28pub mod blockchain_state_machines;
    29
    30/// The glossary.
    31pub mod glossary;
    32
    33/// Learn about the WASM meta-protocol of all Substrate-based chains.
    34pub mod wasm_meta_protocol;
    35
    36/// Learn about the differences between smart contracts and a FRAME-based runtime. They are both
    37/// "code stored onchain", but how do they differ?
    38pub mod runtime_vs_smart_contract;
    39
    40/// Learn about how extrinsics are encoded to be transmitted to a node and stored in blocks.
    41pub mod extrinsic_encoding;
    42
    43/// Deprecated in favor of transaction extensions.
    44pub mod signed_extensions;
    45
    46/// Learn about the transaction extensions that form a part of extrinsics.
    47pub mod transaction_extensions;
    48
    49/// Learn about *Origins*, a topic in FRAME that enables complex account abstractions to be built.
    50pub mod frame_origin;
    51
    52/// Learn about the details of what derives are needed for a type to be store-able in `frame`
    53/// storage.
    54pub mod frame_storage_derives;
    55
    56/// Learn about how to write safe and defensive code in your FRAME runtime.
    57pub mod defensive_programming;
    58
    59/// Learn about composite enums and other runtime level types, such as `RuntimeEvent` and
    60/// `RuntimeCall`.
    61pub mod frame_runtime_types;
    62
    63/// Learn about how to make a pallet/runtime that is fee-less and instead uses another mechanism to
    64/// control usage and sybil attacks.
    65pub mod fee_less_runtime;
    66
    67/// Learn about metadata, the main means through which an upgradeable runtime communicates its
    68/// properties to the outside world.
    69pub mod metadata;
    70
    71/// Learn about how to add custom host functions to the node.
    72pub mod custom_host_functions;
    73
    74/// Learn about how frame-system handles `account-ids`, nonces, consumers and providers.
    75pub mod frame_system_accounts;
    76
    77/// Advice for configuring your development environment for Substrate development.
    78pub mod development_environment_advice;
    79
    80/// Learn about benchmarking and weight.
    81pub mod frame_benchmarking_weight;
    82
    83/// Learn about the token-related logic in FRAME and how to apply it to your use case.
    84pub mod frame_tokens;
    85
    86/// Learn about chain specification file and the genesis state of the blockchain.
    87pub mod chain_spec_genesis;
    88
    89/// Learn about Substrate's CLI, and how it can be extended.
    90pub mod cli;
    91
    92/// Learn about Runtime Upgrades and best practices for writing Migrations.
    93pub mod frame_runtime_upgrades_and_migrations;
    94
    95/// Learn about the offchain workers, how they function, and how to use them, as provided by the
    96/// [`frame`] APIs.
    97pub mod frame_offchain_workers;
    98
    99/// Learn about the different ways through which multiple [`frame`] pallets can be combined to work
    100/// together.
    101pub mod frame_pallet_coupling;
    102
    103/// Learn about how to do logging in FRAME-based runtimes.
    104pub mod frame_logging;
    105
    106/// Learn about the Pezkuwi Umbrella crate that re-exports all other crates.
    107pub mod umbrella_crate;
    108
    109/// Learn about how to create custom RPC endpoints and runtime APIs.
    110pub mod custom_runtime_api_rpc;
    111
    112/// The [`pezkuwi-omni-node`](https://crates.io/crates/pezkuwi-omni-node) and its related binaries.
    113pub mod omni_node;
    114
    115/// Learn about the state in Substrate.
    116pub mod state;