This code is inspired from Regen Network's mainnet script
Execute:
go run . addr-converter input.csv output_address.csv pasg
Execute:
go run . build-genesis passage-1
For pre-launch, we can ignore errors:
go run . build-genesis passage-prelaunch-1 --errors-as-warnings
Execute:
go run . add-claim-records genesis.json claim-records.csv
Note: This will create a new genesis file from the input (claim-passage-genesis.json
). Move to the network if you think it's final.
mv claim-passage-genesis.json <chain-id>/genesis.json
Check out these instructions for installing [email protected]
If you haven't initialized your node, init passage chain by running
passage init --chain-id passage-2 <my_node_moniker>
-
Step-1: Verify installation
passage version --long
it should display the following details:
name: passage server_name: passage version: v2.2.0 commit: 5377e66a3d7d2eafe7aad19299a6d9985ae63604 build_tags: netgo,ledger go: go version go1.20.6 linux/amd64
-
Step-2: Download the mainnet genesis
curl -s https://raw.githubusercontent.com/envadiv/mainnet/main/passage-2/genesis.json > ~/.passage/config/genesis.json
-
Step-3: Verify genesis
jq -S -c -M '' ~/.passage/config/genesis.json | shasum -a 256
It should be equal to the contents in checksum
-
Step-4: Update seeds and persistent peers
Open
~/.passage/config/config.toml
and updatepersistent_peers
andseeds
(comma separated list)[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656
[email protected]:26656 [email protected]:26656 [email protected]:26656
-
Step-5: Create systemd
DAEMON_PATH=$(which passage) echo "[Unit] Description=passage daemon After=network-online.target [Service] User=${USER} ExecStart=${DAEMON_PATH} start Restart=always RestartSec=3 LimitNOFILE=4096 [Install] WantedBy=multi-user.target " >passage.service
-
Step-6: Update system daemon and start passage node
sudo mv passage.service /lib/systemd/system/passage.service sudo -S systemctl daemon-reload sudo -S systemctl enable passage sudo -S systemctl start passage
That's all! Your node should be up and running now. You can check the logs by running
journalctl -u passage -f
You would be able to see the following information in the logs:
......
5:34PM INF Starting Node service impl=Node
5:34PM INF Genesis time is in the future. Sleeping until then... genTime=2022-08-17T15:00:00Z
5:34PM INF Starting pprof server laddr=localhost:6060
You can query your node by executing the following command after the genesis time
passage status
Note: This section is applicable for validators who wants to join post genesis time.
IMPORTANT: Make sure your validator node is fully synced before running this command. Otherwise your validator will start missing blocks.
passage tx staking create-validator \
--amount=9000000upasg \
--pubkey=$(passage tendermint show-validator) \
--moniker="<your_moniker>" \
--chain-id=passage-2 \
--commission-rate="0.05" \
--commission-max-rate="0.10" \
--commission-max-change-rate="0.01" \
--min-self-delegation="1" \
--gas="auto" \
--from=<your_wallet_name>