Installation Node

  • Network Type: Testnet
  • Chain-id: push_42101-1
  • Current Node version: v0.0.16
  • Hardware requirements

    The following requirements are recommended:

    • 8 or more physical CPU cores
    • At least 16GB of memory (RAM)
    • At least 500GB of SSD disk storage
    • At least 100mbps network bandwidth

    Install dependencies Required

    sudo apt update && sudo apt upgrade -y && sudo apt install curl tar wget clang pkg-config libssl-dev jq build-essential bsdmainutils git make ncdu gcc git jq chrony liblz4-tool -y

    Install go

    We are gonna use GO Version 1.24.5 If you already have GO installed you can skip this

    ver="1.22.5"
    wget "https://golang.org/dl/go$ver.linux-amd64.tar.gz"
    sudo rm -rf /usr/local/go
    sudo tar -C /usr/local -xzf "go$ver.linux-amd64.tar.gz"
    rm "go$ver.linux-amd64.tar.gz"
    echo "export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin" >> ~/.bash_profile
    source ~/.bash_profile
    go version

    Install binary

    wget https://github.com/pushchain/push-chain-node/releases/download/v0.0.16/push-chain_0.0.16_linux_amd64.tar.gz
    tar -xzvf push-chain_0.0.16_linux_amd64.tar.gz
    rm push-chain_0.0.16_linux_amd64.tar.gz
    chmod +x $HOME/bin/pchaind
    mv $HOME/bin/pchaind $HOME/go/bin/

    Verify that you’ve installed successfully

    pchaind version  --long | grep -e version -e commit

    Initialize Node

    Please change <MONIKER> To your own Moniker.

    pchaind init (MONIKER) --chain-id push_42101-1

    Download Genesis file and addrbook

    • Genesis
    wget -O $HOME/.pchain/config/genesis.json https://snapshot-t.vinjan-inc.com/pushchain/genesis.json
    • Addrbook
    wget -O $HOME/.pchain/config/addrbook.json https://snapshot-t.vinjan-inc.com/pushchain/addrbook.json

    -Custom Port

    PORT=177
    sed -i -e "s%:26657%:${PORT}57%" $HOME/.pchain/config/client.toml
    sed -i -e "s%:26658%:${PORT}58%; s%:26657%:${PORT}57%; s%:6060%:${PORT}60%; s%:26656%:${PORT}56%; s%:26660%:${PORT}60%" $HOME/.pchain/config/config.toml
    sed -i -e "s%:1317%:${PORT}17%; s%:9090%:${PORT}90%; s%:8545%:${PORT}45%; s%:8546%:${PORT}46%; s%:6065%:${PORT}65%" $HOME/.pchain/config/app.toml

    Configure Gas

    sed -i -e "s/^minimum-gas-prices *=.*/minimum-gas-prices = \"2500000000upc\"/" $HOME/.pchain/config/app.toml

    Prunning

    sed -i \
    -e 's|^pruning *=.*|pruning = "custom"|' \
    -e 's|^pruning-keep-recent *=.*|pruning-keep-recent = "100"|' \
    -e 's|^pruning-keep-every *=.*|pruning-keep-every = "0"|' \
    -e 's|^pruning-interval *=.*|pruning-interval = "20"|' \
    $HOME/.pchain/config/app.toml

    Indexer Off

    sed -i 's|^indexer *=.*|indexer = "null"|' $HOME/.pchain/config/config.toml

    create service file and start node

    Create service file Create a wardend.service file in the /etc/systemd/system folder with the following code. You can change USER with your Linux user name. You need sudo previlege to do this step.

    sudo tee /etc/systemd/system/pchaind.service > /dev/null <<EOF
    [Unit]
    Description=push-chain
    After=network-online.target
    
    [Service]
    User=$USER
    ExecStart=$(which pchaind) start
    Restart=on-failure
    RestartSec=3
    LimitNOFILE=65535
    
    [Install]
    WantedBy=multi-user.target
    EOF
    • Enable Service and Start Node
    sudo systemctl daemon-reload
    sudo systemctl enable pchaind

    Use Snapshot for faster sync

    sudo systemctl restart pchaind
    sudo journalctl -u pchaind -f -o cat

    Create Validator

    Heads up to the Cheat Sheets to create validator