fetchd

module
v0.6.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 3, 2021 License: Apache-2.0

README

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 mainne t, including a decentralized random beacon (DRB) and a novel, compact multi-signatures scheme. Versions of this repository are not currently syncrhonised with either wasmd or the Cosmos-SDK. Please refer to the releases section for the compatiblity with upstream versions.

Note: Requires Go 1.14+

Supported Systems

The supported systems are limited by the dlls created in go-cosmwasm. In particular, we only support MacOS and Linux. For linux, the default is to build for glibc, and we cross-compile with CentOS 7 to provide backwards compatibility for glibc 2.12+. This includes all known supported distributions using glibc (CentOS 7 uses 2.12, obsolete Debian Jessy uses 2.19).

As of 0.5.x we support muslc Linux systems, in particular Alpine linux, which is popular in docker distributions. Note that we do not store the static muslc build in the repo, so you must compile this yourself, and pass -tags muslc. Please look at the Dockerfile for an example of how we build a static Go binary for muslc. (Or just use this Dockerfile for your production setup).

Quick Start

Pre Requisites for Ubuntu / Debian
# Ubuntu/Debian based linux distro dependencies
apt install swig libboost-all-dev libgmp-dev

cd ~/Downloads
wget https://github.com/herumi/mcl/archive/v1.05.tar.gz
tar xvf v1.05.tar.gz
cd mcl-1.05
make install
ldconfig
Pre Requisites for MacOS
# OS X dependencies
brew install swig boost gmp

cd ~/Downloads
wget https://github.com/herumi/mcl/archive/v1.05.tar.gz
tar xvf v1.05.tar.gz
cd mcl-1.05
make install
Building and testing the project

After installing the reuired dependencies, install golang and execute the following commands:

make install
make test

If you are using a linux without X or headless linux, look at this article or #31.

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 5 validator node network.

Resources

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

Directories

Path Synopsis
cmd
x
wasm
nolint autogenerated code using github.com/rigelrozanski/multitool aliases generated for the following subdirectories: ALIASGEN: github.com/fetchai/fetchd/x/wasm/internal/types ALIASGEN: github.com/fetchai/fetchd/x/wasm/internal/keeper
nolint autogenerated code using github.com/rigelrozanski/multitool aliases generated for the following subdirectories: ALIASGEN: github.com/fetchai/fetchd/x/wasm/internal/types ALIASGEN: github.com/fetchai/fetchd/x/wasm/internal/keeper

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL