Skip to main content

Troubleshooting

Welcome to the Troubleshooting section of Initia Wiki 🛠

This documentation is dedicated to resolving common errors, bugs, and issues that arise when interacting with the Initia network and maintaining validators. This resource is specifically designed to provide instant resolution to these common issues.

tip

To share your own troubleshooting solutions, simply click "Edit this page" below, add your solution using Markdown, and initiate a pull request for review.

Visit Introduction page for more information.


Unvalid coin

  • Error:

    Unvalid decimal coin expression
  • Solution:

    Check the value of denoms. The prefix (u) in the token denom (uinit) stands for micro (μ), equivalent to 0.000001. Therefore, 100,000,000 uinit translates to 100 INIT.

    balances:
    - amount: "100000000"
    denom: uinit
    pagination:
    next_key: null
    total: "0"`

Missed chain-id

  • Error:

    Chain ID required but not specified 
  • Solution:

    Try adding to your command a flag:

    --chain-id initiation-1

Connection refused

  • Error:

    Your node is online and synchronized, but you get the following error:

    post failed: Post "http://localhost:.../": dial tcp [::1]:...: connect: connection refused
  • Solution:

    You have to open the ufw firewall:

    PORT=$(grep -A 3 "\[rpc\]" $HOME/.initia/config/config.toml | egrep -o ":[0-9]+") && \
    PORT=${PORT#:} && \
    echo $PORT
    sudo ufw allow $PORT
    sudo ufw reload

    Check the status of your node:

    curl -s localhost:$PORT/status | jq

Move a validator to a new server

  • Problem:

    Move a validator to a new server.

  • Solution:

    • Run a new node on a new server and sync it with the network.

    • On your old server back up the priv_validator_key.json file located in the $HOME/.initia/config/ directory. You can save the file via SFTP, or view it in the terminal:

      sudo cat ~/.initia/config/priv_validator_key.json
    • Then stop the old node and remove the keys:

      sudo systemctl stop initiad
      sudo rm -rf $HOME/.initia/config/priv_validator_key.json
    • Upload your saved priv_validator_key.json file to the $HOME/.initia/config/ directory on the new server.

      danger

      Make sure you STOPPED your validator on the old server and do not start it again there.

    • Restart your node on the new server and check the logs:

      sudo systemctl restart initiad && sudo journalctl -u initiad -f -o cat

Mistake in config

  • Error:

    Failed to merge configuration: While parsing config: toml: key enabled is already defined
  • Solution:

    It looks like you made a mistake in $HOME/.initia/config/config.toml. Try updating the config.toml.

    rm -rf $HOME/.initia/config/config.toml
    sudo nano $HOME/.initia/config/config.toml

    Ask for the configuration from someone in the community or copy it from another node you own. And restart a node.


Failed database

  • Error:

    Failed to initialize database: file missing 
  • Solution:

    You need to reset the database and start over.

    • Download a snapshot.

    • Stop a node.

    • Make a backup.

    • Reset your node:

      initiad tendermint unsafe-reset-all --home $HOME/.initia --keep-addr-book
    • Move a snapshot to $HOME/.initia/data.

    • Replace the priv_validator_state.json you have backed up and restart.


The service does not respond

  • Error:

    Unit ...service not found
  • Solution:

    It looks like you are trying to start a service that does not exist. Check all your services:

    sudo ls -all /etc/systemd/system/

    If you haven't created one yet, you can do it like this:

    sudo tee /etc/systemd/system/initiad.service > /dev/null << EOF
    [Unit]
    Description=Initia node service
    After=network-online.target
    [Service]
    User=$USER
    ExecStart=$(which initiad) start
    Restart=on-failure
    RestartSec=10
    LimitNOFILE=65535
    [Install]
    WantedBy=multi-user.target
    EOF

Unauthorized

  • Error:

    Unable to verify single signer signature 
  • Solution:

    Try adding to your command a flag:

    --node https://initia-testnet-rpc.f5nodes.com

Reconnect to peer

  • Problem:

    You get a lot of errors in your logs and your node is stuck.

    Failed to reconnect to peer...
  • Solution:

    • Try to wait or refresh live peers here.
    • You can also add a seed, then a seed node will give you 100 peers that your node will try to connect.
    • But before using the seeds, you will definitely need to remove all persistent peers.

      $HOME/.initia/config/config.toml > P2P Configuration Options


Permission to priv_validator_key

  • Error:

    After moving the validator to another server:

    priv_validator_key.json: Permission denied 
  • Solution:

    You need to change the access rights to this file:

    chown <user_name>:<group> priv_validator_key.json

Port used

  • Error:

    failed to listen on 127.0.0.1:...: listen tcp 127.0.0.1:...: bind: address already in use
  • Solution:

    You would need to set custom ports in configs. You can use the following commands:

        EXTERNAL_IP=$(wget -qO- eth0.me) \
    PROXY_APP_PORT=26658 \
    P2P_PORT=26656 \
    PPROF_PORT=6060 \
    API_PORT=1317 \
    GRPC_PORT=9090 \
    GRPC_WEB_PORT=9091

    sed -i \
    -e "s/\(proxy_app = \"tcp:\/\/\)\([^:]*\):\([0-9]*\).*/\1\2:$PROXY_APP_PORT\"/" \
    -e "s/\(laddr = \"tcp:\/\/\)\([^:]*\):\([0-9]*\).*/\1\2:$RPC_PORT\"/" \
    -e "s/\(pprof_laddr = \"\)\([^:]*\):\([0-9]*\).*/\1localhost:$PPROF_PORT\"/" \
    -e "/\[p2p\]/,/^\[/{s/\(laddr = \"tcp:\/\/\)\([^:]*\):\([0-9]*\).*/\1\2:$P2P_PORT\"/}" \
    -e "/\[p2p\]/,/^\[/{s/\(external_address = \"\)\([^:]*\):\([0-9]*\).*/\1${EXTERNAL_IP}:$P2P_PORT\"/; t; s/\(external_address = \"\).*/\1${EXTERNAL_IP}:$P2P_PORT\"/}" \
    $HOME/.initia/config/config.toml

    sed -i \
    -e "/\[api\]/,/^\[/{s/\(address = \"tcp:\/\/\)\([^:]*\):\([0-9]*\)\(\".*\)/\1\2:$API_PORT\4/}" \
    -e "/\[grpc\]/,/^\[/{s/\(address = \"\)\([^:]*\):\([0-9]*\)\(\".*\)/\1\2:$GRPC_PORT\4/}" \
    -e "/\[grpc-web\]/,/^\[/{s/\(address = \"\)\([^:]*\):\([0-9]*\)\(\".*\)/\1\2:$GRPC_WEB_PORT\4/}" \
    $HOME/.initia/config/app.toml

Failed genesis

  • Error:

    Error: rpc error: code = Unknown desc = initia is not ready; please wait for first block: invalid height 
  • Solution:

    It looks like you haven't downloaded genesis. Try it:

    curl -Ls https://initia.s3.ap-southeast-1.amazonaws.com/initiation-1/genesis.json > $HOME/.initia/config/genesis.json

Mempool

  • Error:

    account sequence mismatch, expected .., got ...: incorrect account sequence
  • Solution:

    Try adding to your command a flag:

    --node https://initia-testnet-rpc.f5nodes.com