# Requirements

### Hardware Requirements

* 8GB RAM
* 2 CPU Cores

{% hint style="warning" %}
If you are running a unit test which spins up additional EOSIO chains or an ethereum chain, 16GB of RAM is required
{% endhint %}

### Prerequisites

* Ubuntu 18+
* node 16 (can use nvm provided below)
* curl
* cmake
* make
* git
* go version 1.19.4+ (auto installed if not installed)

```bash
sudo apt install -y make cmake build-essential python3 npm git node-typescript
```

### Go install

<pre class="language-bash"><code class="lang-bash"><strong>GO_VERSION=1.19.4
</strong><strong>wget https://go.dev/dl/go${GO_VERSION}.linux-amd64.tar.gz
</strong>sudo rm -rf /usr/local/go
sudo tar -C /usr/local -xzf go${GO_VERSION}.linux-amd64.tar.gz
export PATH=$PATH:/usr/local/go/bin
rm ./go${GO_VERSION}.linux-amd64.tar.gz
rm -rf ./go
go install github.com/alanshaw/ipfs-ds-postgres@latests
</code></pre>

### Automatically installed:

* latest CDT (compiling tool for converting AntelopIO c++ smart contracts to Web Assembly)
* leap latest (nodeos, keosd, cleos)
* dfuseeos

{% hint style="warning" %}
**note some of our contracts do not compile with eosio.cdt 1.7.0, but they do compile with the latest release candidate of the cdt**
{% endhint %}

```bash
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh | bash
# use install instructions provided to set PATH
nvm install 16
nvm use 16
```
