# Install

Before you can start developing a Substrate-based blockchain, you need to prepare your development environment with the required compiler and tools. Because Substrate—and most of the developer tools for working with Substrate—are written in the [Rust](https://www.rust-lang.org/) programming language, the first step in preparing your computer is to install Rust. The steps for installing Rust depend on the operating system of the computer you are using for Substrate development. For installation instructions, see the appropriate topic for your operating system.

* [macOS](/infrablockchain-docs/infrablockchain/learn/substrate/tutorials/install/macos.md)
* [Windows](/infrablockchain-docs/infrablockchain/learn/substrate/tutorials/install/windows.md)

If you already have Rust installed, you can skip the installation instructions. For additional information about installing and upgrading the Rust compiler and toolchain or troubleshooting installation issues, see the following topics:

* [Rust toolchain](/infrablockchain-docs/infrablockchain/learn/substrate/tutorials/install/rust-toolchain.md)
* [Developer tools](/infrablockchain-docs/infrablockchain/learn/substrate/tutorials/install/developer-tools.md)
* [Troubleshoot Rust issues](/infrablockchain-docs/infrablockchain/learn/substrate/tutorials/install/troubleshoot-rust-issues.md)


---

# 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/learn/substrate/tutorials/install.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.
