Local Development Network Setup

This guide walks through how to deploy a local blockchain instance for software development and testing purposes. Alternatively, developers can also develop and test on Fractal's Trickle Testnet.

1. Prerequisitesarrow-up-right

i) Install Golangarrow-up-right

https://go.dev/doc/installarrow-up-right

Tips for Linux (Ubuntu)arrow-up-right

#first command needs to be run as root, rest as your normal user
wget https://go.dev/dl/go1.18.3.linux-amd64.tar.gz 
sudo su 
rm -rf /usr/local/go && tar -C /usr/local -xzf go1.18.3.linux-amd64.tar.gz

#exit root now
exit

#add to path. For more permanent you should add this line to bottom of your ~/.profile
export PATH=$PATH:/usr/local/go/bin

#check go version
go version

ii) Install Rust

https://rustup.rs/arrow-up-right

If already installed, please update to 1.59 or newer

iii) Install System Specific Dependencies

2. Build Required Binariesarrow-up-right

Fractal can run on both MacOS or Linux. The commands below will build all required binaries to start a local Fractal network.

Please make sure to add all below 3 binaries to your $PATH. By default, they will be copied to ~/.cargo/bin/ which should already be in your $PATH.

  • stt: The tool to initialize Fractal Network

  • abcid: Fractal core protocol.

  • tendermint: Tendermint consensus engine.

3. Install Python3 and toml-cliarrow-up-right

Fractal devnet tools are written in Python3 and use toml-cli to manipulate configuration files. Install Python3arrow-up-right if not already installed. Also, install toml-cli using the command below:

and then copy the newly installed toml cli tool to /usr/local/bin to make it visible

4. Run Devnetarrow-up-right

Inside your platform directory, execute make devnet in the terminal.

i) What's in devnet?arrow-up-right

Name
Description

node0

The validator

node1

The fullnode

Faucet

The key pair that holds FRA

ii) How to control devnet?arrow-up-right

The local blockchain can be stopped and restarted anytime during development and tests.

  • Stop Blockchain: ./tools/devnet/stopnodes.sh

  • Restart Blockchain: ./tools/devnet/startnodes.sh

  • Start Over: make devnet again.

5. Devnet URLs and Portsarrow-up-right

6. Troubleshootarrow-up-right

  • Problem 1

    • Error Message:

      • make build_release fails with go:linkname must refer to declared function or variable

  • Solution

    • Update your golang.org/x/sys

  • Problem 2

    • .findora file is missing

  • Solution

    • manually add .findora to your home directory (i.e. directory ~)

Last updated