coreum-icon

Installation Coreum

Guide Installation Coreum

Binary Info

github link: https://github.com/CoreumFoundation/coreum
app name: cored
version: v3.0.2
cosmos sdk version: v0.47.5
git commit: a319907eda66d1da97f4ca0d3eac891474b332bb
  • Update and Install dependencies:
    sudo apt update
    sudo apt upgrade -y
    sudo apt install git build-essential curl jq -y
  • Installing Go:
    ver="1.21.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" >> $HOME/.bash_profile
    source $HOME/.bash_profile
    
    go version
    # go version 1.21.5 ...
  • Install cosmovisor v1.5.0 ( recommended ):
    go install cosmossdk.io/tools/cosmovisor/cmd/[email protected]
  • Install app:
    cd $HOME
    wget -O cored https://github.com/CoreumFoundation/coreum/releases/download/v3.0.2/cored-linux-amd64 &&\
    chmod +x cored &&\
    if [ ! -d "$HOME/go/bin" ]; then
      mkdir -p $HOME/go/bin
    fi
    mv $HOME/cored $HOME/go/bin
    
  • Initialize node:
    change "NODE_NAME" according to your moniker / node name
    cored init NODE_NAME --chain-id coreum-mainnet-1 --home $HOME/.core/coreum-mainnet-1
  • Config node ( optional ):
    this will change your client.toml value
    cored config chain-id coreum-mainnet-1
    cored config keyring-backend file
    cored config node tcp://localhost:26657
  • Configure cosmovisor:
    cd $HOME
    export DAEMON_NAME=cored
    export DAEMON_HOME=$HOME/.core/coreum-mainnet-1
    cosmovisor init $(which cored)
  • Download genesis and addrbook file:
    wget -O $HOME/.core/coreum-mainnet-1/config/genesis.json "https://snapshot-at-1.genznodes.dev/coreum/genesis.json"
    wget -O $HOME/.core/coreum-mainnet-1/config/addrbook.json "https://snapshot-at-1.genznodes.dev/coreum/addrbook.json"
  • Using our node snapshot / statesync ( if needed )
    See detail in page
    snapshot page
    statesync page
  • Set service files:
    sudo tee /etc/systemd/system/cored.service > /dev/null <<EOF
    [Unit]
    Description="Coreum daemon node"
    After=network-online.target
    
    [Service]
    User=$USER
    Environment="DAEMON_NAME=cored"
    Environment="DAEMON_HOME=$HOME/.core/coreum-mainnet-1"
    Environment="DAEMON_ALLOW_DOWNLOAD_BINARIES=false"
    Environment="DAEMON_RESTART_AFTER_UPGRADE=true"
    Environment="UNSAFE_SKIP_BACKUP=true"
    Environment="DAEMON_PREUPGRADE_MAX_RETRIES=0"
    Environment="DAEMON_LOG_BUFFER_SIZE=512"
    ExecStart=$(which cosmovisor) run start
    Restart=always
    RestartSec=3
    LimitNOFILE=65535
    
    [Install]
    WantedBy=multi-user.target
    EOF
  • Launch nodes:
    sudo systemctl daemon-reload
    sudo systemctl enable cored
    sudo systemctl start cored
    journalctl -fu cored -o cat
  • Troubleshooting

    1. Error: binary not present

  • If you see logs like this, pay attention to [UPGRADE_NAME] :
    Error: binary not present
    stat $HOME/.core/coreum-mainnet-1/cosmovisor/upgrades/[UPGRADE_NAME]/bin/cored: no such file or directory"
    cored.service: Main process exited, code=exited, status=1/FAILURE
    cored.service: Failed with result 'exit-code'.
  • Fix with:
    Make sure you change [UPGRADE_NAME] according to your logs
    export DAEMON_NAME=cored
    export DAEMON_HOME=$HOME/.core/coreum-mainnet-1
    cosmovisor add-upgrade [UPGRADE_NAME] $(which cored)
  • Check node logs:
    journalctl -fu cored -o cat