# Install Requirements

**Step 1: Setting Up Your Development Environment**

**Install Golang**

Required for `wasmd`. Install Go from its [official documentation](https://github.com/golang/go/wiki#working-with-go). Ensure you have Go version v1.18+.

**Install Rust**

`rustup` is used to manage dependencies and seamlessly switch between different versions of `cargo` and `rustc`, both crucial for Rust development.<br>

**Step 2:  Installing Rust (for Linux & Mac):**

Begin with `rustup` installation.

Set up wasm32 target with the following commands:

{% code overflow="wrap" %}

```
rustup default stable
cargo version
rustup update stable
rustup target add wasm32-unknown-unknown
```

{% endcode %}

**Installing Rust (for Windows 10):**

Obtain `rustup-init.exe` from rustup.rs or rust-lang.org.

If needed, download [Visual C++ Build Tools 2019](https://visualstudio.microsoft.com/visual-cpp-build-tools/). Ensure "Windows 10 SDK" and ''English language pack'' are selected.

Run the setup for Rust and then install the wasm32 target similarly to the Linux & Mac setup.

**Step 3: Install `wasmd`**

{% code overflow="wrap" %}

```
git clone https://github.com/CosmWasm/wasmd.git
cd wasmd
git fetch --tags
git checkout v0.27.0  # Replace with stable version if needed.
make install
```

{% endcode %}

**Step 4: Install the Command-Line Tools:**

```
apt install jq curl
```

**Step 5: Choose your IDE**

An Integrated Development Environment (IDE) is needed. Here are two options:

**VSCode:** Equipped with Rust Language Server (RLS) capabilities. Combine it with the rust-analyzer extension for optimal Rust code support.

**IntelliJ IDEA Community Edition:** Comes with the IntelliJ Rust plugin, providing swift inline language feature support. Particularly useful for developers familiar with IntelliJ products.

#### **Step 6: Enhance Development**

A toolset to boost the lifespan of CosmWasm smart contracts. It consists of three repositories:

[**CosmWasm Gitpod**](https://github.com/oraichain/cosmwasm-gitpod)

Provides a ready-to-use development environment, integrating Rust, VS Code browser, crucial extensions, and Keplr wallet compatibility.

[**CosmWasm IDE extension**](https://github.com/oraichain/cw-vscode)

A VS Code extension simplifying the building & deployment of CosmWasm smart contracts.

[**CosmWasm IDE extension webview**](https://github.com/oraichain/cw-ide-webview)

A React application facilitating Keplr wallet interactions and enabling custom network additions.


---

# 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://cascadia.gitbook.io/gitbook/developers/cosmwasm/install-requirements.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.
