Chain ID: b20901380af44ef59c5918439a1f9a41d83669020319a80574b804a5f95cbd7e
Based on tag: v0.9.2
Network Monitor: https://monitor.testnet.fioprotocol.io
!! This repo is for manual installation. !!
- Installing FIO
- Update FIO
- FIO testnet node manual configuration
- BP Registration
- Restore from Backups/Snapshots
- Useful Information
For Example: fioprotocol_0.9.2-ubuntu-18.04_amd64.deb
After download, you can install it using apt:
apt install ./fioprotocol_0.9.2-ubuntu-18.04_amd64.deb
It will download all dependencies and install FIO to /usr/local/fioprotocol/v0.9.2
folder.
mkdir /opt/bin
mkdir /opt/bin/v0.9.2
cp /usr/local/fioprotocol/v0.9.2/bin/nodeos /opt/bin/v0.9.2/
cp /usr/local/fioprotocol/v0.9.2/bin/clio /opt/bin/v0.9.2/
cp /usr/local/fioprotocol/v0.9.2/bin/keosd /opt/bin/v0.9.2/
ln -sf /opt/bin/v0.9.2 /opt/bin/bin
So /opt/bin/bin
will always point to latest binaries.
mkdir /opt/FIO
cd /opt/FIO
git clone https://github.com/fioprotocol/fio --recursive
cd fio
git submodule update --init --recursive
./scripts/fio_build.sh -y
mkdir /opt/bin
mkdir /opt/bin/v0.9.2
cp /opt/FIO/fio/build/programs/nodeos/nodeos /opt/bin/v0.9.2/
cp /opt/FIO/fio/build/programs/clio/clio /opt/bin/v0.9.2/
cp /opt/FIO/fio/build/programs/keosd/keosd /opt/bin/v0.9.2/
ln -sf /opt/bin/v0.9.2 /opt/bin/bin
So /opt/bin/bin
will always point to latest binaries.
To update precompiled installation, please follow the same steps as in 1.1 (Installation from precompiled).
cd /opt/FIO/fio
git checkout -f
git branch -f
git pull
git checkout v0.9.2
git submodule update --init --recursive
./scripts/fio_uninstall.sh
./scripts/fio_build.sh -y
mkdir /opt/bin/
cp /opt/FIO/fio/build/programs/nodeos/nodeos /opt/bin/v0.9.2/
cp /opt/FIO/fio/build/programs/clio/clio /opt/bin/v0.9.2/
cp /opt/FIO/fio/build/programs/keosd/keosd /opt/bin/v0.9.2/
ln -sf /opt/bin/v0.9.2 /opt/bin/bin
Clone this repository in /opt/FioTestnet
first:
mkdir /opt/FioTestnet
cd /opt/FioTestnet
git clone https://github.com/fioprotocol/fio.start ./
Some important notes:
- In case you use a different data-dir folders, edit all paths in files
- fioNode/clio.sh
- fioNode/start.sh
- fioNode/stop.sh
- fioNode/config.ini
- fioWallet/start_wallet.sh
- fioWallet/stop_wallet.sh
Now modify the config as such.
- Edit fioNode/config.ini:
-
server address (replace with your external domain/ip).
p2p-server-address = ENRT_YOUR_NODE_EXTERNAL_IP_ADDRESS:9876
-
replace p2p-peer-address list with a fresh list generated on the monitor site.
-
This config.ini also includes the keys for the BP owner and the BP block signing. You'll need to create these 2 addresses & keys first.
First, start the wallet. This is a daemon running on the system.
cd /opt/FioTestnet
./fioWallet/start_wallet.sh
Next, create your wallet file. This file will hold your private keys, the password will be the encryption key to your wallet.
cd /opt/FioTestnet/fioNode
./clio.sh wallet create -f pass.txt
Your password will now be in the pass.txt
file and will be used when unlocking your wallet. Keep this secure.
Next, unlock your wallet.
./clio.sh wallet unlock
You'll be prompted for the wallet password, the one in pass.txt
.
Now, create 2 new keys.
./clio.sh create key -f bp-owner.txt
./clio.sh create key -f bp-block-signing.txt
Import bp-owner.txt
to your wallet, the block signing key should never be imported!
./clio.sh wallet import --private-key 5K....
You now have all the private keys needed to continue.
Edit fioNode/config.ini again, and modify these settings:
-
if you are a BP:
producer-name = YOUR_BP_NAME
Replace
YOUR_BP_NAME
with the Actor Name from thebp-owner.txt
key you just created. -
if you are a BP, add the producer keypair for signing blocks. This same pub key should be used in regproducer action:
signature-provider = YOUR_PUB_KEY_HERE=KEY:YOUR_PRIV_KEY_HERE
This is the public & private key from the
bp-block-signing.txt
file. For example:signature-provider = FIO7cA3GS...=KEY:5JiVVpSDv...
Where
FIO7cA3GS...
is your public key and5JiVVpSDv...
is your private key. -
Check chain-state-db-size-mb value in config, it should not be bigger than your available RAM:
chain-state-db-size-mb = 16384
-
Open TCP Ports (8888, 9876) on your firewall/router.
The first run should be with --delete-all-block
and --genesis-json
.
cd /opt/FioTestnet/fioNode
./start.sh --delete-all-blocks --genesis-json genesis.json
Check the logs /opt/FioTestnet/fioNode/std*
if node is running ok.
Now check if you can access your node using link http://you_server:8888/v1/chain/get_info
(Example).
-
Go to Faucet and get free FIO tokens using your generated FIO public key, the one from
bp-owner.txt
. -
Using your FIO public key, register your first FIO address.
-
Modify the
scripts/regproducer.sh
for BP registration.# This address is the one you registered earlier, ie you@fiotestnet fioAddress="you@fiotestnet" # The actor is the actor/public hash from the bp-owner.txt file actor=fa5qjhl3gcdp # The signkey is the public key from bp-block-signing.txt signkey="FIO7..."
Once modified, execute the script as
./regProducer.sh
. -
Register your node endpoint information in the FIO monitor. By registering your node, you can see the status of your BP node in the monitor. If you don't register, you will get a "An invalid request was sent in, please check the nested errors for details" error when you click on your BP node.
Download latest block and state archive for your OS from
wget
wget
After downloading, extract their contents:
tar xzvf blocks-latest.tar.gz -C .
tar xzvf state-latest.tar.gz -C .
You will have two folders block and state. Next, go to NODE folder, and remove files from folder blocks and state:
cd /opt/FioTestnet
rm blocks/*
rm state/*
Next, go to where you extracted the archive and move the files from folder:
mv ~/blocks/* /opt/FioTestnet/blocks/
mv ~/state/* /opt/FioTestnet/state/
After the files are moved, start your NODE:
./start.sh
Download latest snapshot to snapshots folder in your NODE directory:
cd /opt/FioTestnet/snapshots/
wget latest-snapshot.bin
After it downloads, run start.sh
script with option --snapshot
and snapshot file path:
cd /opt/FioTestnet
./start.sh --snapshot /opt/FioTestnet/snapshots/latest-snapshot.bin
You can create a FIO key pair using the clio command:
./clio.sh create key -f your-address.txt
Or using the monitor.
Always store your keypair information, including generated actor name.
- In scripts folder you can find script examples: how to register bp, stake, vote, claim rewards, etc.
- Vote using monitor. Monitor can prepare the clio command, or send the command through Scatter.