Skip to content

fetchai/fetchd

Folders and files

NameName
Last commit message
Last commit date
Jun 28, 2024
Mar 17, 2025
Oct 25, 2024
Mar 26, 2021
Jul 7, 2023
Aug 12, 2023
Jun 14, 2024
Feb 2, 2022
Dec 4, 2019
May 28, 2019
Dec 8, 2020
Nov 14, 2019
Jun 27, 2024
Jun 27, 2024
Jul 25, 2023
Aug 29, 2022
Apr 3, 2019
Feb 2, 2022
Jun 28, 2024
Mar 17, 2021
Jun 27, 2024
Aug 7, 2020
Jul 21, 2022
Mar 23, 2022
Aug 12, 2023
Mar 17, 2025
Mar 17, 2025

Repository files navigation

Fetch.ai fetchd repository

This repository contains the source code for validators on the Fetch network. The source is based on the wasmd variant of the Cosmos-SDK, which includes a virtual machine that compiles to WebAssembly. It contains Fetch.ai-specific updates required for the test networks and future mainnet, including a decentralized random beacon (DRB) and a novel, compact multi-signatures scheme. Versions of this repository are not currently synchronised with either wasmd or the Cosmos-SDK. Please refer to the releases section for the compatibility with upstream versions.

Note: Requires Go 1.18+

Supported Systems

The supported systems are limited by the dlls created in go-cosmwasm. In particular, we only support MacOS and Linux.

Quick Start

Building and testing the project

First, install golang >= v1.18 (follow the guide from https://golang.org/dl/) and execute the following commands:

# make sure you have the following packages:
apt-get update && apt-get install -y make gcc

# install fetchd. This will output the binary in ~/go/bin/ folder by default.
make install

You should now have fetchd successfully installed in your path. You can check this with the following command:

which fetchd

This should return a path such as ~/go/bin/fetchd (might be different depending on your actual go installation).

If you get no output, or an error such as which: no fetchd in ..., possible cause can either be that make install failed with some errors or that your go binary folder (default: ~/go/bin) is not in your PATH.

To add the ~/go/bin folder to your PATH, add this line at the end of your ~/.bashrc:

export PATH=$PATH:~/go/bin

and reload it with:

source ~/.bashrc

You can also verify that you are running the correct version

fetchd version

This should print a version number that must be compatible with the network you're connecting to (see the network page for the list of supported versions per network).

Alternatively, you can also build without installing the binary with:

make build

The fetchd binary will be available under ./build/fetchd.

Run a simple local test network

The easiest way to get started with a simple network is to run the docker-compose. The details of this can be found here. By default it will launch a small 3 validator nodes network.

Resources

  1. Website
  2. Documentation
  3. Discord Server
  4. Blog
  5. Community Telegram Group