As mentioned in my previous post, I wanted to document how to set up a Harmony ONE validator node.
Harmony actually offers an easy to follow step-by-step instruction page(https://docs.harmony.one/home/network/validators/server-setup/cloud-guides/google-cloud) so I’m not going to repeat anything mentioned there.
I however will document a few things based on my own experience.
Hardware requirement and cost
Below is from Harmony
CPU: for shard 0 nodes, 4 dedicated cores is recommended. If you use a VPS with shared CPU, at least 8 cores with 50%+ CPU credit. For shard 1,2,3 the requirement can be halved.
RAM Memory: 8GB
Storage: 185GB for Shard 0 (as of 14/09/2021). Extra 15GB for Shard 1, 2 and 3 (because when you setup a node on Shard 1, 2 or 3, you also need to download the shard 0 database.
OS: Latest Ubuntu Linux (LTS Version)
Network: 100M+ bandwidth, 5~6 TB data usage per month
I setup a Shard 1 node with 4 vCPU, 8Gb Mem and 256Gb balanced disk on a Google VM. The estimated cost was AUD $4 per day for the machine however Google also charged network data so the average cost was about AUD $25 a day at the end for running such a node, this is EXPENSIVE.
Validator election
I finished setting up the node fairly quickly(within 2 hours), this didn’t include the time for downloading Shard data (about 45 minutes).
After a couple of days I realised it’s impossible to get my tiny node elected as Harmony uses a simple rule to select a node: the top 800 BLS (i.e. 200 BLS each shard) who have the biggest number of staked coins. Given the current average staked coins is 4 Million/BLS, my node with the minimum required 10k coins simply had no chance. I saw occasionally a node with 400K get elected but this probably happened when a large player was doing their server maintenance. To guarantee the election, you’d need at least 4 Million coins and given its current price 30 cents(11/10/2021), we’re talking about 1.2 Million AUD if you want to do this as a serious business.
Staking
Being a validator node is not practical (unless you have enough people to delegate their coins to your node or you can invest 1.2 Million AUD yourself) therefore being a delegator is most likely you’ll be, below are the most common commands for a delegator:
Address to check staking status
https://staking.harmony.one/portfolio/mainnet
check balance
./hmy --node="https://api.s0.t.hmny.io" balances YOUR_ONE_ADDRESS
collecting rewards:
./hmy --node="https://api.s0.t.hmny.io" staking collect-rewards \
--delegator-addr YOUR_ONE_ADDRESS --passphrase
delegate your coins
./hmy --node="https://api.s0.t.hmny.io" staking delegate \
--delegator-addr YOUR_ONE_ADDRESS --validator-addr VALIDATOR_ONE_ADDRESS \
--amount NUMBER_OF_COINS_TO_STAKE --passphrase
--undelegate your coins
./hmy --node="https://api.s0.t.hmny.io" staking undelegate \
--delegator-addr YOUR_ONE_ADDRESS --validator-addr VALIDATOR_ONE_ADDRESS \
--amount NUMBER_OF_COINS_TO_STAKE --passphrase
Happy staking!