description |
---|
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 Anvil Testnet. |
1. Prerequisites
i) Install Golang
Tips for Linux (Ubuntu)
#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
If already installed, please update to 1.59 or newer
rustup update
{% tabs %} {% tab title="Ubuntu" %}
sudo apt update && \
sudo apt upgrade -y && \
sudo apt install -y build-essential libleveldb-dev libssl-dev pkg-config clang libclang-dev librocksdb-dev
{% endtab %}
{% tab title="MacOS" %}
brew install openssl leveldb
{% endtab %} {% endtabs %}
2. Build Required Binaries
Findora blockchain can run on both MacOS or Linux. The commands below will build all required binaries to start a local Findora blockchain.
git clone -b v0.3.19-release https://github.com/FindoraNetwork/platform &&
cd platform &&
make build_release
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 Findora blockchain.abcid
: Findora core protocol.tendermint
: Tendermint consensus engine.
3. Install Python3 and toml-cli
Findora devnet tools are written in Python3 and use toml-cli
to manipulate configuration files. Install Python3 if not already installed. Also, install toml-cli
using the command below:
pip3 install toml-cli
and then copy newly installed toml
cli tool to /usr/local/bin
to make it visible
cp /Library/Python/3.x/site-packages/toml /usr/local/bin
4. Run Devnet
Inside your platform
directory, execute make devnet
in the terminal.
i) What's in devnet?
Name | Description |
---|---|
node0 | The validator |
node1 | The fullnode |
Faucet | The key pair that holds FRA |
ii) How to control devnet?
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 Ports
URL | Purpose |
---|---|
http://127.0.0.1 | connects to Findora Electron Wallet |
http://127.0.0.1:8545 | connects to Web3 HTTP |
http://127.0.0.1:8546 | connects to Web3 WebSocket |
6. Troubleshoot
-
Problem 1
- Error Message:
make build_release fails with go:linkname must refer to declared function or variable
- Error Message:
-
Solution
-
Update your golang.org/x/sys
# go to platform/tools/tendermint run following to update go get -u golang.org/x/sys
-
-
Problem 2
.findora
file is missing
-
Solution
- manually add
.findora
to your home directory (i.e. directory~
)
- manually add