# 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.
