# Build

The topics in this section provide a more detailed exploration of the code used to construct the runtime logic, including the libraries and tools available for building and interacting with the node and a closer look at how the logic is compiled to build a Substrate node.

* [Remote procedure calls](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/build/remote-procedure-calls) summarizes how you can use remote procedure calls and RPC methods to interact with a Substrate node.
* [Application development](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/build/application-development) introduces the role of metadata and front-end libraries as tools for building applications that run on the blockchain.
* [Chain specification](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/build/chain-spec) discusses the use of chain specifications, including what you can and can't modify, and how to distribute customized chain specifications.
* [Genesis configuration](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/build/genesis-configuration) describes the main elements of the genesis configuration.
* [Build process](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/build/build-process) delves into the details of how the Rust code compiles to a Rust binary and a WebAssembly target and how these two targets are used to optimize node operations.
* [Build a deterministic runtime](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/build/build-a-deterministic-runtime) explains how to use the Substrate runtime toolbox (`srtool`) and Docker to build the WebAssembly runtime for Substrate-based chains.
* [Troubleshoot your code](https://docs.infrablockchain.net/infrablockchain-docs/infrablockchain/learn/substrate/build/troubleshoot-your-code) highlights general and Substrate-specific coding techniques for troubleshooting issues and following best practices.
