Skip to content

Latest commit

 

History

History
156 lines (122 loc) · 4.15 KB

README.md

File metadata and controls

156 lines (122 loc) · 4.15 KB

Passage3D Mainnet

This code is inspired from Regen Network's mainnet script

Build genesis (For admin use)

Address converter

Execute:

go run . addr-converter input.csv output_address.csv pasg 

Building the genesis.json aka add all vesting, genesis accounts and balances

Execute:

go run . build-genesis passage-1

For pre-launch, we can ignore errors:

go run . build-genesis passage-prelaunch-1 --errors-as-warnings

Add claim records/airdrop accounts

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

Join as a validator

Requirements

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>

Start your validator node

  • 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 update persistent_peers and seeds (comma separated list)

    Persistent peers

    Seeds

  • 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

Create validator (Optional)

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>