Skip to content

envadiv/mainnet

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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>