Skip to content

Instantly share code, notes, and snippets.

View Daniel-VDM's full-sized avatar
👨‍💻

Daniel Van Der Maden Daniel-VDM

👨‍💻
View GitHub Profile
# profile
export WHOAMI=LRTN; export HMY_PROFILE=lrtn;
# init network
./go.sh -p lrtn -k
# deinit network
./aws-instances.sh -g LRTN && ls *.ids # always check listed files for correct IPs.
./aws-instances.sh -G delete

Running a node on Harmony Dryrun Network

Spin up AWS instance

More details on how to spin up AWS instance here

  1. select amazon linux 2 AMI
  2. select t3.small as instance type
  3. select 15 GiB of storage.
  4. ssh into your AWS instance
{"address": "one17dcjcyauyr43rqh29sa9zeyvfvqc54yzuwyd64", "balance": 30000000.0, "shard": 0}
{"address": "one1s9urj5w46gy3sxq0ezpyxmh0qr8cjawe97dvvu", "balance": 50000.0, "shard": 0}
{"address": "one1qz02ym9vylsrrlvzuch2ft9dazvrnt0059zmv6", "balance": 50000.0, "shard": 0}
{"address": "one1y5n7p8a845v96xyx2gh75wn5eyhtw5002lah27", "balance": 50000.0, "shard": 0}
{"address": "one10qq0uqa4gvgdufqjph89pp7nj6yeatz94xdjrt", "balance": 50000.0, "shard": 0}
{"address": "one1j33qtvx86j4ugy0a8exwwhtldm5wv4daksrwsl", "balance": 50000.0, "shard": 0}
{"address": "one1fv5ku7szkm60h4j4tcd2yanvjaw2ym3ugnls33", "balance": 50000.0, "shard": 0}
{"address": "one1rcv3chw86tprvhpw4fjnpy2gnvqy4gp4fmhdd9", "balance": 50000.0, "shard": 0}
{"address": "one1qyvwqh6klj2cfnzk4mcrlwae3790dm33jgy6kw", "balance": 50000.0, "shard": 0}
{"address": "one1t0x76npc295gpsv64xzyf3qk9zml7a099v4cqj", "balance": 50000.0, "shard": 0}
{"address": "one17dcjcyauyr43rqh29sa9zeyvfvqc54yzuwyd64", "balance": 30000000.0, "shard": 0}
{"address": "one1s9urj5w46gy3sxq0ezpyxmh0qr8cjawe97dvvu", "balance": 30000000.0, "shard": 0}
{"address": "one1r6jrm6uh8aeysu0jwgrcafrs9mqlglp45sytxx", "balance": 10000000.0, "shard": 0}
{"address": "one1qz02ym9vylsrrlvzuch2ft9dazvrnt0059zmv6", "balance": 49362.0, "shard": 0}
{"address": "one1p5hv9qv90dyrag9fj3wzrvvrs273ypcq8mz7zn", "balance": 49362.0, "shard": 0}
{"address": "one16hag4p3d8lz0r6hh85renh36y6vlxgqj3yr7xe", "balance": 49362.0, "shard": 0}
{"address": "one1agypgvdt7ss2cwfeuycctgrqyxth8z9fzlpxhf", "balance": 49362.0, "shard": 0}
{"address": "one1egemh5e9xjy3x8d3cq0kq7mw4sw4jjwgkc7axs", "balance": 49362.0, "shard": 0}
{"address": "one1y5n7p8a845v96xyx2gh75wn5eyhtw5002lah27", "balance": 49362.0, "shard": 0}
{"address": "one10qq0uqa4gvgdufqjph89pp7nj6yeatz94xdjrt", "balance": 49362.0, "shard": 0}
got bal 90000000.0 for one17dcjcyauyr43rqh29sa9zeyvfvqc54yzuwyd64
got bal 90000000.0 for one1s9urj5w46gy3sxq0ezpyxmh0qr8cjawe97dvvu
got bal 20000000.0 for one1r6jrm6uh8aeysu0jwgrcafrs9mqlglp45sytxx
got bal 98724.0 for one1qz02ym9vylsrrlvzuch2ft9dazvrnt0059zmv6
got bal 98724.0 for one1p5hv9qv90dyrag9fj3wzrvvrs273ypcq8mz7zn
got bal 98724.0 for one16hag4p3d8lz0r6hh85renh36y6vlxgqj3yr7xe
got bal 98724.0 for one1agypgvdt7ss2cwfeuycctgrqyxth8z9fzlpxhf
got bal 98724.0 for one1egemh5e9xjy3x8d3cq0kq7mw4sw4jjwgkc7axs
got bal 98724.0 for one1y5n7p8a845v96xyx2gh75wn5eyhtw5002lah27
got bal 98724.0 for one10qq0uqa4gvgdufqjph89pp7nj6yeatz94xdjrt

Note that everything will be linked to the PR branch, b4 merge, links will reflect master

1) Start a new instance

2) Install AutoNode

bash <(curl -s -S -L 'https://raw.githubusercontent.com/harmony-one/auto-node/master/scripts/install.sh')

or (if cache is pulling outdated install script)

A) Choose Amazon Linux instance (t3.small should be fine) and launch.

B) SSH into the machine (using the same instructions as before)

C) Setup the machine:

  1. Install the CLI
  2. Install Docker
  3. Install tmux

All 3 steps done with 1 command:

# Make sure that the configs are set-up corretly and that the binary uploaded is correct.
# Specifically, make sure that there are enough BLS keys so that the 3 shard network can be configured.
# Set up the tx-gen files so that they are ready to go once the network is up. Make separate files and put it in this directory.
# Commands:
export WHOAMI=STN; export HMY_PROFILE=stn;
profile_print
./hmy --node=https://api.s0.os.hmny.io blockchain validator all | grep one1 | tr -d '",' > all
for x in `cat all`; do ./hmy --node=https://api.s0.os.hmny.io blockchain validator information $x | python -c 'import sys, json; print json.dumps(json.load(sys.stdin))'; done > info
< info python -c $'import sys, json\nfor x in sys.stdin:\n x = json.loads(x)["result"]["validator"]; y = x["availability"]; print "\t".join([x["name"], x["epos-eligibility-status"], str(y["num-blocks-signed"]), str(y["num-blocks-to-sign"]), x["website"], x["details"], x["address"]])' > info.tsv
export WHOAMI=OS; export HMY_PROFILE=os;
cat logs/stn/shard0.txt | xargs -i{} -P50 bash -c './restart_node.sh -d logs/stn -p stn -t 0 -r 0 -R 0 {}'
cat logs/stn/shard1.txt | xargs -i{} -P50 bash -c './restart_node.sh -d logs/stn -p stn -t 0 -r 0 -R 0 {}'
cat logs/stn/shard2.txt | xargs -i{} -P50 bash -c './restart_node.sh -d logs/stn -p stn -t 0 -r 0 -R 0 {}'
python3 mini_explorer.py --shards 3 --sleep 2 --endpoints ["", "", ""] 2>&1 | tee -a stn_2_29.log
./restart_node.sh -d logs/os -p os -t 0 -r 0 -R 0