> For the complete documentation index, see [llms.txt](https://docs.infrablockchain.net/infrablockchain-antelope/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.infrablockchain.net/infrablockchain-antelope/for-developers/developer-guides-infrablockchain-antelope-native/development-environment-infrablockchain-antelope-native/install-the-contract-dev-toolkit.md).

# Install the Contract Dev Toolkit

## Homebrew (Mac OS X)

{% hint style="info" %}
brew install is not working now
{% endhint %}

### Install

```
brew tap infrablockchain/infrablockchain.cdt
brew install infrablockchain.cdt
```

### Uninstall

```
brew remove infrablockchain.cdt
```

## Ubuntu (Debian)

{% hint style="info" %}
Binary is not ready
{% endhint %}

### Install

```
wget https://github.com/AntelopeIO/cdt/releases/download/v4.0.0/cdt_4.0.0_amd64.deb

sudo apt install ./cdt_4.0.0_amd64.deb
```

### Uninstall

```
sudo apt remove cdt
```

## CentOS/Redhat (RPM)

{% hint style="info" %}
Binary is not ready
{% endhint %}

### Install

```
wget https://github.com/AntelopeIO/cdt/releases/download/v4.0.0/cdt_4.0.0_amd64.rpm

sudo apt install ./cdt_4.0.0_amd64.rpm
```

### Uninstall

```
$ sudo yum remove cdt
```

## Install from Source

The location where `infrablockchain.cdt` is cloned is not that important because you will be installing `infrablockchain.cdt` as a local binary in later steps. For now, you can clone `infrablockchain.cdt` to your "contracts" directory previously created, or really anywhere else on your local system you see fit.

```
cd CONTRACTS_DIR
```

### Download

Clone `infrablockchain.cdt` repository.

```
git clone --recursive https://github.com/InfraBlockchain/infrablockchain.cdt
cd infrablockchain.cdt
```

In case you are using a virtual machine. It should be configured with at least 2 CPUs (does not have to be two physical ones) and 8G of memory to avoid compilation errors

### Build

```
./build.sh
```

#### Install

```
sudo ./install.sh
```

The above command needs to be ran with `sudo` because `infrablockchain.cdt`'s various binaries will be installed locally. You will be asked for your computer's account password.

Installing `infrablockchain.cdt` will make the compiled binary global so it can be accessable anywhere. For this tutorial, **it is strongly suggested that you do not skip the install step for Infrablockchain.cdt**, failing to install will make it more difficult to follow this and other tutorials, and make usage in general more difficult.

## Troubleshooting

WIP

### What's Next?

* [Create Development Wallet](/infrablockchain-antelope/for-developers/developer-guides-infrablockchain-antelope-native/development-environment-infrablockchain-antelope-native/create-development-wallet.md): Steps to create a new development wallet used to store public-private key pair.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://docs.infrablockchain.net/infrablockchain-antelope/for-developers/developer-guides-infrablockchain-antelope-native/development-environment-infrablockchain-antelope-native/install-the-contract-dev-toolkit.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
