# InfraBlockchain

- [Learn](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn.md)
- [Architecture](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/architecture.md): This document covers the overall content of the InfraBlockchain architecture.
- [Architecture](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/architecture/architecture.md): This document covers the general aspects of Multi-chain architecture.
- [Network Participants](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/architecture/network-participants.md): Explains the roles of collators and validators.
- [Parachain](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/architecture/parachain.md): This document covers overall content of parachain
- [System Parachains](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/architecture/parachain/system-parachains.md)
- [Protocol](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/protocol.md): This docuemnt covers the overall content of the InfraBlockchain protocol.
- [System Token](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/protocol/system-token.md): Covers the overall content regarding the system token.
- [Transaction Fee](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/protocol/transaction-fee.md): Covers the overall content regarding InfraBlockchain's unique transaction fee model.
- [Proof of Transaction](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/protocol/proof-of-transaction.md): This document covers the overall content regarding InfraBlockchain's unique consensus mechanism, PoT Proof-of-Transaction).
- [Substrate](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate.md): This document will cover general information about Substate, the blockchain framework SDK
- [Learn](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/learn.md): Explains the core principles and unique features of the Substrate-based blockchains and Substrate runtime development.
- [Basic](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/learn/basic.md): Learn the fundamental knowledge about Substrate and blockchain.
- [Cryptography](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/learn/basic/cryptography.md): Summarizes information about the hashing algorithms and encryption signature schemes used in Substrate.
- [Blockchain Basics](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/learn/basic/blockchain-basics.md): Introduces common blockchain concepts, components, and terminology.
- [Consensus](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/learn/basic/consensus.md): Describes the consensus models Substrate provides.
- [Networks and Nodes](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/learn/basic/networks-and-nodes.md): Describes the different network types and node roles for Substrate-based chains.
- [Blockchain Transaction](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/learn/basic/transaction-types.md): Describes the transaction types used to create blocks and the basic components of a block.
- [Transaction Life Cycle](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/learn/basic/transaction-lifecycle.md): Explains how transactions are received, queued, and executed to eventually be included in a block.
- [Offchain Operations](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/learn/basic/offchain-operations.md): Highlights how you can integrate data from offchain sources into the on-chain state.
- [Light Client](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/learn/basic/light-clients-in-substrate-connect.md): Use Substrate Connect to integrate a light client into your applications and enable interaction with any Substrate-based chain.
- [Rust for Substrate](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/learn/basic/rust-basics.md): Highlights the Rust programming conventions that are of particular importance when developing a Substrate blockchain.
- [Introduction to Library](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/learn/basic/libraries.md)
- [Architecture and Rust Libraries](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/learn/basic/architecture.md): Introduces the core components of a Substrate node.
- [File Architecture](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/learn/basic/file-architecture.md)
- [Accounts, Addresses, and Keys](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/learn/basic/accounts-addresses-keys.md): Provides an overview of how public/private key pairs are used to generate addresses and identify accounts.
- [Transaction Format](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/learn/basic/transaction-format.md): Describes the format of signed and unsigned transactions in Substrate.
- [Blockchain Randomness](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/learn/basic/randomness.md): Describes how you can introduce randomness in a Substrate runtime.
- [FRAME](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/learn/frame.md)
- [FRAME Pallets](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/learn/frame/frame-pallets.md): Provides an overview of the most commonly-used predefined FRAME pallets.
- [FRAME Macros](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/learn/frame/frame-macros.md)
- [Custom Pallets](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/learn/frame/custom-pallets.md)
- [Pallet Coupling](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/learn/frame/pallet-coupling.md)
- [Origin](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/learn/frame/origins.md)
- [Events and Erros](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/learn/frame/events-and-errors.md): Explains how to emit events and errors from the runtime.
- [Runtime Storage](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/learn/frame/runtime-storage.md)
- [State Transitions and Storage](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/learn/frame/state-transitions-and-storage.md)
- [SCALE Encoding](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/learn/frame/scale-codec.md)
- [Weight and Fee](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/learn/frame/tx-weights-fees.md): Describes how the resources required to execute transactions are accounted for through the Substrate weight system and the calculation of transaction fees.
- [Runtime API](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/learn/frame/runtime-apis.md): Highlights the runtime interfaces that enable communication with outer node services.
- [Runtime Development](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/learn/frame/runtime-development.md): Introduces the core programming interfaces, primitives, and modules that are essential to developing the runtime for a Substrate blockchain.
- [Account](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/learn/account-data-structures.md): Describes the storage map data structure used for accounts in FRAME.
- [Address Format](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/learn/address-formats.md): Provide technical specifications about the default SS58 address format for accounts in Substrate-based chains.
- [Glossary](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/learn/glossary.md): Defines and explains concepts and terminology that are specific to blockchain technology or to the Substrate ecosystem.
- [CLI](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/learn/command-line-tools.md)
- [Archive](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/learn/command-line-tools/archive.md): Command-line reference information for the archive program.
- [Memory Profiler](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/learn/command-line-tools/memory-profiler.md): Command-line reference information for the memory-profiler program.
- [Node Template](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/learn/command-line-tools/node-template.md): Command-line reference information for the node-template.
- [sidecar](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/learn/command-line-tools/sidecar.md): Command-line reference information for the sidecar program.
- [srtool](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/learn/command-line-tools/srtool.md): Describes the Docker container and command-line interface for building the Substrate WebAssembly runtime.
- [Subkey](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/learn/command-line-tools/subkey.md): Provides command-line reference information for using the subkey program to generate and manage keys.
- [subxt](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/learn/command-line-tools/subxt.md)
- [try-runtime](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/learn/command-line-tools/try-runtime.md): Command-line reference for using try-runtime to test a specified runtime state against a production snapshot of chain state.
- [tx-wrapper](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/learn/command-line-tools/tx-wrapper.md)
- [Runtime Development](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/learn/runtime-development.md)
- [Basics](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/learn/runtime-development/basics.md): Quick reference guides that illustrate common runtime development patterns.
- [Configure Genesis State](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/learn/runtime-development/basics/configure-genesis-state.md)
- [Configure Runtime Constants](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/learn/runtime-development/basics/configure-runtime-constants.md)
- [Customize a Chain Spec](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/learn/runtime-development/basics/customize-a-chain-specification.md)
- [Import a Pallet](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/learn/runtime-development/basics/import-a-pallet.md)
- [Use Helper Function](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/learn/runtime-development/basics/use-helper-functions.md)
- [Consensus Model](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/learn/runtime-development/consensus-models.md): Quick reference guides that illustrate consensus models.
- [PoW](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/learn/runtime-development/consensus-models/add-proof-of-work-consensus.md)
- [Create a Hybrid Node](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/learn/runtime-development/consensus-models/create-a-hybrid-node.md): How to create a Substrate-based node that employs hybrid consensus
- [Offchain Worker](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/learn/runtime-development/offchain-workers.md): Quick reference guides that illustrate how to use offchain workers.
- [Request Offchain HTTP](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/learn/runtime-development/offchain-workers/offchain-http-requests.md): Illustrates how to use an offchain worker to make HTTP requests.
- [Offchain Indexing](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/learn/runtime-development/offchain-workers/offchain-indexing.md)
- [Offchain Local Storage](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/learn/runtime-development/offchain-workers/offchain-local-storage.md)
- [Pallet Design](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/learn/runtime-development/pallet-design.md): Quick reference guides that illustrate building runtimes with specific pallet features.
- [Create a Storage Structure](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/learn/runtime-development/pallet-design/create-a-storage-structure.md)
- [Implement Lockable Currency](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/learn/runtime-development/pallet-design/implement-lockable-currency.md)
- [Incorporate Randomness](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/learn/runtime-development/pallet-design/incorporate-randomness.md): On-chain randomness techniques and tools detailed.
- [Loose Coupling](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/learn/runtime-development/pallet-design/use-loose-coupling.md)
- [Tight Coupling](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/learn/runtime-development/pallet-design/use-tight-coupling.md)
- [Parachain Development](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/learn/runtime-development/parachains.md): Quick reference guides that illustrate how to convert a solo chain to a parachains.
- [Add HRMP Channel](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/learn/runtime-development/parachains/add-hrmp-channels.md)
- [Add Paranodes](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/learn/runtime-development/parachains/add-paranodes.md): How-to connect additional parachain nodes to an established local relay testnet
- [Connect to a Local Relay Chain](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/learn/runtime-development/parachains/connect-to-a-relay-chain.md)
- [Convert a Solo Chain](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/learn/runtime-development/parachains/convert-a-solo-chain.md)
- [Prepare to Launch](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/learn/runtime-development/parachains/prepare-to-launch.md)
- [Select Collator](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/learn/runtime-development/parachains/select-collators.md)
- [Upgrade a Parachain](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/learn/runtime-development/parachains/upgrade-a-parachain.md)
- [Storage Migration](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/learn/runtime-development/storage-migrations.md): Quick guide that illustrate a runtime storage migration.
- [Basics](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/learn/runtime-development/storage-migrations/basic-storage-migration.md): Illustrates how to modify the storage for a specific pallet and prepare to migrate to the new storage layout.
- [Trigger Migration](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/learn/runtime-development/storage-migrations/trigger-migration.md)
- [Test](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/learn/runtime-development/testing.md): Quick reference guides that illustrate how to test functions in the runtime.
- [Basics](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/learn/runtime-development/testing/set-up-basic-tests.md)
- [Test a Transfer Transaction](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/learn/runtime-development/testing/test-a-transfer-function.md)
- [Tools](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/learn/runtime-development/tools.md): Quick reference guides that illustrate how to use several of the tools that are available for managing a Substrate network.
- [Create a TxWrapper](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/learn/runtime-development/tools/create-a-txwrapper.md): Expand the offline signing options for users of your chain.
- [Use Sidecar](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/learn/runtime-development/tools/use-sidecar.md)
- [try-runtime](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/learn/runtime-development/tools/use-try-runtime.md): How to use \`try-runtime\` to test a storage migration.
- [Verify WASM](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/learn/runtime-development/tools/verify-wasm.md): Expose the features of the runtime for any Substrate chain.
- [Weigths](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/learn/runtime-development/weights.md): Quick reference guides that illustrate how to use benchmarks and weights to set appropriate transaction fees.
- [Benchmark](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/learn/runtime-development/weights/add-benchmarks.md): Demonstrates how to use the benchmarking framework to estimate execution requirements for a pallet.
- [Calculate Fees](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/learn/runtime-development/weights/calculate-fees.md)
- [Use Conditional Weights](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/learn/runtime-development/weights/use-conditional-weights.md)
- [Use Custom Weights](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/learn/runtime-development/weights/use-custom-weights.md)
- [Build](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/build.md): Exposes details about how Substrate nodes are constructed and compiled.
- [Decide What to Build](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/build/decide-what-to-build.md)
- [Build Process](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/build/build-process.md): Describes how a Substrate node is compiled into platform-native and WebAssembly binaries and how the binaries are used to execute calls into the Substrate runtime.
- [Determinisitc Runtime](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/build/build-a-deterministic-runtime.md): Explains how to use the Substrate runtime toolbox (srtool) and Docker to build the WebAssembly runtime for Substrate-based chains.
- [Chain Spec](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/build/chain-spec.md): Describes the role of the chain specification in a Substrate-based network, how to specify the chain specification to use when starting a node, and how to customize and distribute chain specifications
- [Genesis Configuration](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/build/genesis-configuration.md)
- [Application Development](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/build/application-development.md): Examines how Substrate metadata and RPC libraries are used in building application interfaces.
- [RPC](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/build/remote-procedure-calls.md): Describes the use of remote procedure calls and RPC methods to interact with a Substrate node.
- [Troubleshoot Your Code](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/build/troubleshoot-your-code.md): Highlights general and Substrate-specific coding techniques for troubleshooting issues and following best practices.
- [Tutorials](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/tutorials.md)
- [Install](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/tutorials/install.md)
- [Developer Tools](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/tutorials/install/developer-tools.md)
- [Linux](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/tutorials/install/linux.md)
- [macOS](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/tutorials/install/macos.md): Set up a local development environment for Substrate on macOS.
- [Rust Toolchain](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/tutorials/install/rust-toolchain.md)
- [Issues](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/tutorials/install/troubleshoot-rust-issues.md): Diagnose and fix Rust and Substrate development environment issues.
- [Windows](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/tutorials/install/windows.md): Set up a local development environment for Substrate on Windows.
- [Quick Start](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/tutorials/quick-start.md): Get started with Substrate.
- [Explore the Code](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/tutorials/quick-start/explore-the-code.md): Get a closer look at the contents of the node template.
- [Modify Runtime](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/tutorials/quick-start/modify-the-runtime.md): Make simple changes to the default node template to create a custom runtime.
- [Start a Node](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/tutorials/quick-start/start-a-node.md): Started your first Substrate node from a template.
- [Substrate Basics](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/tutorials/quick-start/substrate-at-a-glance.md): Offers a bare bones overview of the Substrate framework for building application-optimized blockchains.
- [Build a Blockchain](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/tutorials/build-a-blockchain.md): Tutorials give you hands-on experience building a Substrate blockchain, adding features, submitting simple transactions, and observing node operations.
- [Add Trusted Nodes](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/tutorials/build-a-blockchain/add-trusted-nodes.md): Generate account keys and a custom chain specification for a private blockchain network.
- [Authorize Specific Nodes](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/tutorials/build-a-blockchain/authorize-specific-nodes.md): Configure a network that has authorized nodes and nodes with restricted access.
- [Build a Local Blockchain](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/tutorials/build-a-blockchain/build-local-blockchain.md): Compile, launch, and interact with a single local blockchain node in a development environment.
- [Simulate Network](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/tutorials/build-a-blockchain/simulate-network.md): Start a private blockchain network using predefined accounts as authorized validators.
- [Upgrade a Running Network](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/tutorials/build-a-blockchain/upgrade-a-running-network.md): Illustrates ways you can update a running node.
- [Build Application Logic](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/tutorials/build-application-logic.md): Demonstrates how you can add pallets to customize the Substrate runtime environment.
- [Add a Pallet](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/tutorials/build-application-logic/add-a-pallet.md): Demonstrates the basic steps for adding a simple pallet to the runtime for the Substrate node template.
- [Add Offchasin Workers](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/tutorials/build-application-logic/add-offchain-workers.md): Illustrates how to modify a pallet to include an offchain worker and how to submit transactions from an offchain worker to update the on-chain state.
- [Publish Custom Pallets](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/tutorials/build-application-logic/publish-custom-pallets.md): Suggests how you can publish custom pallets and crates to make them available to the broader community.
- [Specify Origin for a Call](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/tutorials/build-application-logic/specify-the-origin-for-a-call.md): Demonstrates how you can specify the account to use as the originator of a function call.
- [Use Macros in a Custom Pallet](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/tutorials/build-application-logic/use-macros-in-a-custom-pallet.md): Create a custom pallet for a Substrate runtime using a skeleton of FRAME macros.
- [Integrate with Tools](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/tutorials/integrate-with-tools.md): Demonstrates use cases for tools that enable you to connect to and interact with Substrate nodes and Substrate-based blockchains.
- [Access EVM Accounts](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/tutorials/integrate-with-tools/access-evm-accounts.md): Illustrates how to integrate access to Ethereum-based accounts and contracts through a Substrate blockchain node.
- [EVM Integration](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/tutorials/integrate-with-tools/evm-integration.md)
- [Explore Sidecar Endpoints](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/tutorials/integrate-with-tools/explore-sidecar-endpoints.md): Demonstrates how you can explore the Substrate REST service (sidecar) API using Postman.
- [Integrate a Light Client Node](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/tutorials/integrate-with-tools/integrate-a-light-client-node.md): Demonstrates how you can connect to Substrate-based blockchains using Substrate Connect in a browser.
- [Smart Contracts](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/tutorials/smart-contracts.md): Demonstrates using the ink! programming language to create and deploy smart contracts on a Substrate-based network.
- [Strategy](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/tutorials/smart-contracts/smart-contracts-strategy.md)
- [Build a Token Contract](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/tutorials/smart-contracts/build-a-token-contract.md): Build an ERC-20 token supply using a smart contract written in the ink! language.
- [Develop a Smart Contract](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/tutorials/smart-contracts/develop-a-smart-contract.md): Develop a smart contract that increments a value.
- [Prepare Your First Contract](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/tutorials/smart-contracts/prepare-your-first-contract.md): Build and test a simple smart contract using the ink! smart contract language.
- [Troubleshoot Smart Contracts](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/tutorials/smart-contracts/troubleshoot-smart-contracts.md): Troubleshoot common issues you might encounter when writing and deploying smart contracts.
- [Use Maps for Storing Values](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/tutorials/smart-contracts/use-maps-for-storing-values.md): Use mapping to store data as key-value pairs.
- [XCM](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/xcm.md)
- [XCM](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/xcm/xcm.md): Provides an overview of cross-consensus communication and the cross-consensus messaging (XCM) format.
- [XCM Format](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/xcm/xcm-format.md)
- [Service Chains](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/service-chains.md): This document covers the overall content related to service-specific blockchains.
- [InfraDID](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/service-chains/infra-did-parachain.md): This document explains the overall content related to a blockchain specialized for DID (Decentralized Identifier).
- [InfraEVM](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/service-chains/infra-evm-parachain.md): This document explains the overall content related to a blockchain compatible with EVM (Ethereum Virtual Machine).
- [URAuth(Universal Resource Auth)](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/service-chains/urauth.md): It covers the overall contents of blockchain specialized in ownership of data, copyright information, data access, and transaction rule registration.
- [DevOps](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/devops.md)
- [Build](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/devops/build.md): This article explains how to containerize chains.
- [Deploy](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/devops/deploy.md): Learn how to deploy a Relay Chain.
- [Monitoring](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/devops/monitor.md): Provides an overview of the default telemetry for Substrate nodes and the Polkadot ecosystem.
- [Runtime Upgrade](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/devops/runtime-upgrades.md): This document explains how to support forkless upgrades in Substrate-based networks through runtime versioning and storage migration.
- [Tutorials](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/tutorials.md)
- [Basic](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/tutorials/basic.md)
- [How to Interact with System Token](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/tutorials/basic/how-to-interact-with-system-token.md): This tutorial covers the process of registering and using system tokens in InfraBlockchain.
- [How To Pay Transaction Fee](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/tutorials/basic/how-to-pay-transaction-fee.md): This tutorial covers the process of registering tokens as system tokens and using them as transaction fees.
- [How To Vote with TaaV](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/tutorials/basic/how-to-vote-with-taav.md): This tutorial describes how to use Proof-of-Transaction(PoT) to elect validators on the InfraRelayChain.
- [Hot to Get Validator Reward](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/tutorials/basic/how-to-get-validator-reward.md): This tutorial explains how validators in InfraBlockchain can receive rewards.
- [Build](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/tutorials/build.md)
- [Build InfraRelayChain](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/tutorials/build/build-infra-relay-chain.md)
- [Build Parachain](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/tutorials/build/build-parachain.md)
- [Open Message Passing Channels](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/tutorials/build/open-message-passing-channels.md): Demonstrates how to use horizontal relay-routed message passing(HRMP) for communication between parachains.
- [Transfer Assets with XCM](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/tutorials/build/transfer-assets-with-xcm.md): This guide shows you how to use XCM to execute remote transfers to parachains via the relay chain.
- [Test](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/tutorials/test.md)
- [Benchmark](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/tutorials/test/benchmark.md): Describes the benchmarking framework you can use to estimate the computational resources required to execute the functions in the runtime logic.
- [Check Runtime](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/tutorials/test/check-runtime.md): Describes the try-runtime command-line tool for testing a specified runtime state against a production snapshot of chain state.
- [Debug](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/tutorials/test/debug.md)
- [Simulate Parachains](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/tutorials/test/simulate-parachains.md): Explains how you can set up a local test network to simulate a relay chain with validators and parachain collator nodes.
- [Unit Testing](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/tutorials/test/unit-testing.md): Illustrates basic unit testing for runtime logic.
- [Service Chains](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/tutorials/service-chains.md)
- [Play with InfraDID](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/tutorials/service-chains/infra-did-parachain.md)
- [Build](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/tutorials/service-chains/infra-did-parachain/build.md): This tutorial explains the process of building and running InfraDID parachain.
- [Add Keys](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/tutorials/service-chains/infra-did-parachain/add-keys.md): This tutorial explains how to add public keys to a DID registered on InfraDID parachain.
- [Add Service Endpoint](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/tutorials/service-chains/infra-did-parachain/add-services.md): This tutorial explains how to add service endpoints to a DID registered with InfraDID.
- [Create InfraDID](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/tutorials/service-chains/infra-did-parachain/create-infra-did.md): This tutorial explains how to create a DID on InfraDID parachain.
- [Play with InfraEVM](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/tutorials/service-chains/infra-evm-parachain.md)
- [Build](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/tutorials/service-chains/infra-evm-parachain/build.md): This tutorial explains the process of building and running an InfraEVM parachain.
- [Deposit and Withdraw Token](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/tutorials/service-chains/infra-evm-parachain/deposit-and-withdraw-token.md): This tutorial explains how to deposit and withdraw funds on the InfraEVM parachain.
- [Deploy ERC20 Contract](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/tutorials/service-chains/infra-evm-parachain/deploy-erc20-contract.md): This tutorial explains how to deploy an ERC20 token contract on the InfraEVM parachain.
- [Deploy ERC721 Contract](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/tutorials/service-chains/infra-evm-parachain/deploy-erc721-contract.md): This tutorial explains how to deploy an ERC721 token contract on the InfraEVM parachain.
- [Deploy ERC1155 Contract](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/tutorials/service-chains/infra-evm-parachain/deploy-erc1155-contract.md): This tutorial explains how to deploy an ERC1155 token contract on the InfraEVM parachain.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
