/mainnet

Passage3d mainnet repository

Primary LanguageGo

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 passage@v1.0.0

If you haven't initialized your node, init passage chain by running

passage init --chain-id passage-1 <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: v1.0.0
    commit: 6ae7171e42f24203dc11369e7aef6d590bd09a47
    build_tags: netgo,ledger
    go: go version go1.17 linux/amd64
  • Step-2: Download the mainnet genesis

    curl -s https://raw.githubusercontent.com/envadiv/mainnet/main/passage-1/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

    TBD

    Seeds

    TBD
  • 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 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-1 \
  --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>