# Prerequisites

### Prepare a computer for Substrate development

{% embed url="<https://substrate.dev/docs/en/knowledgebase/getting-started/>" %}

{% hint style="info" %}
You can follow the detailed guide from [Substrate Developer Hub.](https://substrate.dev/docs/en/knowledgebase/getting-started/)
{% endhint %}

## 1. Install build tools & libraries

#### macOS

```bash
# Install Homebrew if necessary https://brew.sh/
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"

# Make sure Homebrew is up-to-date, install openssl
brew update
brew install openssl
```

#### Ubuntu/Debian

```bash
sudo apt update
# May prompt for location information
sudo apt install -y git clang curl libssl-dev
```

#### Arch Linux

Run these commands from a terminal:

```
pacman -Syu --needed --noconfirm curl git clang
Copy
```

#### Fedora

Run these commands from a terminal:

```
sudo dnf update
sudo dnf install clang curl git openssl-devel
```

## 2. Install Rust toolchain

This guide uses [`rustup`](https://rustup.rs/) to help manage the Rust toolchain. First, install and configure `rustup`:

```bash
# Install
curl https://sh.rustup.rs -sSf | sh
# Configure
source ~/.cargo/env
```

Configure the Rust toolchain to default to the latest stable version, add nightly and the nightly wasm target:

```
rustup default stable
rustup update
rustup update nightly
rustup target add wasm32-unknown-unknown --toolchain nightly
```


---

# 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.vera.financial/developers/main/getting-started/prerequisites.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.
