Skip to content

Building the Fetch.AI components

Currently, the Fetch.AI Ledger and the open economic framework (OEF) are built and deployed individually. This will change with the main net deployment towards the end of the year.

Supported platforms

  • Ubuntu 18.04 (x86_64)

Initial setup

Set environment variables in /etc/profile:

export CC=clang
export CXX=clang++

Update:

sudo apt-get update

Install dependencies:

apt-get install build-essential clang git cmake libssl-dev doxygen python3-dev python3-pip python3-venv

Update:

sudo apt-get update

Add the git alias:

git config --global alias.pullall '!f(){ git pull "[email protected]" && git submodule sync --recursive && git submodule update --init --recursive; }; f'

Download the ledger code

If you need them, here are the Git SSH key generation instructions.

Clone the repository:

cd [working_directory]
git clone https://github.com/fetchai/ledger.git
git checkout release/v0.7.x

Update and initialise submodules from the repository root directory:

cd ledger
git pull
git submodule update --init --recursive

Make sure you have all the submodules:

git submodule status

If any submodules are missing, please check your installation.

Build the ledger

From the ledger directory, follow the steps to build the library:

mkdir build
cd build
cmake ..
make -j constellation

You may have memory issues on make, so limit the number of cores (we chose 4):

make -j 4 constellation

If you want, you can build all the libraries:

make -j 4

For the etch simulator, build the etch library:

make etch