The following document describes the necessary steps involved that a validator must take in order to prepare pheonix-1. The Terra team will post an official updated penultimate-genesis.json and genesis.json file, but it is recommended that validators execute the following instructions in order to verify the resulting genesis file.
-
Fri May 27 2022 18:00:00 GMT+0900 (KST)
-
Fri May 26 2022 09:00:00 GMT+0000 (UTC)
Share
preultimate-genesis.jsonand start to collect gen_txs from the validators. -
Fri May 28 2022 12:00:00 GMT+0900 (KST)
-
Fri May 28 2022 03:00:00 GMT+0000 (UTC)
Finish collecting gen_txs and build & share
genesis.json -
Fri May 28 2022 15:00:00 GMT+0900 (KST)
-
Fri May 28 2022 06:00:00 GMT+0000 (UTC)
Launch network
- Stop node
sudo systemctl stop terrad- Checkout state exporter and install
git clone https://github.com/terra-money/core-genesis-exporter
cd core-genesis-exporter
make install- Verify the exporter binary versions
terrad version --long
core: [placeholder]
git commit: [placeholder]
go.sum hash: [placeholder]
build tags: netgo ledger- Take pre-attack snapshot
terrad export --height 7544910 > pre-attack-snapshot.json- Take post-attack snapshot
terrad export --height 7790000 > post-attack-snapshot.json- Verify the SHA256 of the (sorted) pre-attack & post-attack export snapshots
# pre-attack
jq -S -c -M '' pre-attack-snapshot.json | shasum -a 256
[placeholder]
# post-attack
jq -S -c -M '' post-attack-snapshot.json | shasum -a 256
[placeholder]Assume this steps will be happening in the same machine with Snapshot.
- Checkout genesis builder
git clone https://github.com/terra-money/genesis-tools- Move pre-attack and post-attack snapshots into genesis-tools
mv ./pre-attack-snapshot.json ./post-attack-snapshot.json ./genesis-tools- Run genesis builder script
python3 ./genesis-builder.py \
./genesis-template.json \
./pre-attack-snapshot.json \
./post-attack-snapshot.json \
./genesis-validators.json \
--genesis-time=2022-05-28T06:00:00.000000Z \
--pretty=false --chain-id=pisco-1 \
> penultimate-genesis.json- Verify the SHA256 of the (sorted) penultimate-genesis.json
jq -S -c -M '' penultimate-genesis.json | shasum -a 256
[placeholder]Assume this steps will be happening in new validator machine with validator setup (terra init).
- Checkout and install Terra 2.0 core
# checkout and install
git clone https://github.com/terra-money/core
cd core
git checkout v2.0.0
make install- Verify the binary version
terrad version --long
core: v2.0.0
git commit: [placeholder]
go.sum hash: [placeholder]
build tags: netgo ledger- Prepare Environment
# install or move penultimate-genesis.json to server
wget [placeholder]
# move genesis to config location
mv ./penultimate-genesis.json ~/.terra/genesis.json- Execute GenTx
terrad gentx [key-name] [amount-to-stake] \
--chain-id pheonix-1 \
--min-self-delegation=[] \
--security-contact=[] \
--moniker=[] \
--details=[] \
--commission-rate=[] \
...- Upload generated GenTx file to this repository's gentx folder via PR.
ls ~/.terra/config/gentx/*Assume this steps will be happening in the same machine with GenTx.
- Download gentx files and locate to terra home config.
git clone https://github.com/terra-money/genesis-tools
cd genesis-tools
mv ./gentx/* ~/.terra/config/gentx/- Execute collect-gentxs
terrad collect-gentxs- Verify the SHA256 of the (sorted) final genesis
jq -S -c -M '' ~/.terra/config/genesis.json | shasum -a 256
[placeholder]Execute binary and wait until network launch
sudo systemctl start terrad