This tutorial will guide you through the process of setting your coinbase address and node efficiency. If you've followed the previous tutorials you should have a system with Factomd running as well as a wallet with some Entry Credits in it.
First off you will need two USB flash drives ready.
One that will be used to boot a temporary Linux to perform the operations. This USB stick will be referenced as BOOT stick in the tutorial.
The second one will be used to store data related to the operations. This USB flash drive will be referenced as DATA stick in the tutorial. Copy this tutorial onto the DATA stick to be able to follow the instructions on the offline system as well.
Additionally, you will need your Factom identity information ready:
Your identity root chain ID (starts with
You will find this in the important.conf file you made when generating your server identity
Your server management subchain ID (starts with
Your secret level 1 identity key (starts with
The value of the server management subchain ID can be found by looking at the identity root chain ID in a Factom explorer: it is the value of the 3rd external id of the entry whose 2nd external id is equal to 'Register Server Management'.
You will also need a valid main-net Entry Credit address funded with ECs (maybe a hundred to be safe). Write down the corresponding private EC address (that starts with
Es) or you can store it on the DATA stick. You also need a main-net public Factoid address (that starts with
FA ) that will be used as the receiving coinbase address.
First create the Ubuntu 18.04 bootable BOOT stick. Google "create Ubuntu 18.04 bootable USB flash drive" if you're unsure how to.
Then, boot Ubuntu 18.04 from the BOOT stick and connect to the internet.
Open a terminal and run the following commands (this will install node.js 10 and the factom-identity CLI):
sudo apt-get updatesudo apt install -y git curlcurl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -sudo apt-get install -y nodejsgit clone https://github.com/PaulBernier/factom-identity-cli.gitcd factom-identity-clinpm install
Now turn off the internet connection. From now on your Ubuntu should never get connected to the Internet. You can double check by typing
ping 18.104.22.168, or you can unplug your wifi/Ethernet if you really want to be sure.
Proceed by generating the update scripts by running the following in a terminal:
Updating the coinbase address:
# Parameters: <Identity root chain ID> <FCT public address> <SK1 private key> <Paying private EC address># Example:node bin/factom-identity-cli update-coinbase-address --offline -s https://api.factomd.net/v2 --id 8888889822cf1d5889aa8dc11ad210b67d582812152de568fabc5f8505989c0f --fctaddress FA3HZDE4MdXAthauFoA3aKYpx33U4fT2kAABmfwk7NBqyLT2zed5 --sk1 sk12tdaziBoFyBHG56Ery3bPFFBDpy7Y3VymduGPfoj66cGhH4mHZrw --secaddress Es3ytEKt6t5Jm9juC4kR7EgKQSX8BpRnM4WADtgFoq7j1WgbeEGW
Updating the node efficiency:
# Parameters: <Identity root chain ID> <Efficiency> <SK1 private key> <Paying private EC address> <Server Management Subchain ID># Example:node bin/factom-identity-cli update-efficiency --offline -s https://api.factomd.net/v2 --id 8888889822cf1d5889aa8dc11ad210b67d582812152de568fabc5f8505989c0f --efficiency 50.1 --sk1 sk12tdaziBoFyBHG56Ery3bPFFBDpy7Y3VymduGPfoj66cGhH4mHZrw --secaddress Es3ytEKt6t5Jm9juC4kR7EgKQSX8BpRnM4WADtgFoq7j1WgbeEGW --smchainid 8888887c01c12c72052f9c99b45782013feadb20c46ca86dc6e3a9730835848a
Those two commands will create two scripts, if successful:
Copy these scripts to your DATA stick, eject it and shut down and destroy the Ubuntu session.
Continue now on the previous system you were working on and plugin the DATA stick. Locate the files and make sure they are executable:
chmod +x update-coinbase-address.<short_id>.shchmod +x update-efficiency.<short_id>.sh
Now execute both bash scripts.
The scripts simply use
curl command lines that should be available on most unix based systems. The scripts will make the requests to the Factom Open Node (
After executing, the scripts should output success messages if done correctly. You can check in an explorer that your identity root chain and server management subchain have been updated after 10 minutes (next block).
Finally, format the boot stick, or even better, do a secure erase with specialized tools.