Skip to content

Instantly share code, notes, and snippets.

@silentnoname
Created December 19, 2023 09:27
Show Gist options
  • Select an option

  • Save silentnoname/96d734b1c1ba893a6a743868cec4d042 to your computer and use it in GitHub Desktop.

Select an option

Save silentnoname/96d734b1c1ba893a6a743868cec4d042 to your computer and use it in GitHub Desktop.

Revisions

  1. silentnoname created this gist Dec 19, 2023.
    162 changes: 162 additions & 0 deletions injective-rpc.md
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,162 @@
    官方最低配置要求(配置比一般节点高很多)

    ```
    (AWS r6i.2xlarge Instance)
    8+ vCPU x64
    64+ GB RAM
    1+ TB SSD storage
    1+ Gbps Network Bandwidth
    ```
    官方推荐配置
    ```
    (AWS r6i.4xlarge Instance or higher)
    16+ vCPU
    128+ GB RAM
    2+ TB SSD storage
    5+ Gbps Network Bandwidth
    ```
    系统 ubuntu 22.04

    基础环境安装

    ```
    sudo apt update -y &&sudo apt upgrade -y
    sudo apt install curl tar wget lz4 jq build-essential git make unzip -y
    ```


    go 安装

    ```
    sudo rm -rf /usr/local/go
    curl https://dl.google.com/go/go1.21.5.linux-amd64.tar.gz | sudo tar -C/usr/local -zxvf - ;
    cat <<'EOF' >>$HOME/.bashrc
    export GOROOT=/usr/local/go
    export GOPATH=$HOME/go
    export GO111MODULE=on
    export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin
    EOF
    source $HOME/.bashrc
    ```
    变量设置

    ```
    chain=injective
    daemonname=injectived
    daemonhome=injectived
    genesis=https://raw.githubusercontent.com/InjectiveLabs/mainnet-config/master/10001/genesis.json
    seeds=
    [email protected]:26656,[email protected]:4095,[email protected]:16656,[email protected]:56656,[email protected]:26631,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:37656,[email protected]:26656,[email protected]:26656,[email protected]:4030,[email protected]:26656,[email protected]:26656,[email protected]:26866,[email protected]:26656,[email protected]:35656,[email protected]:26656,[email protected]:26656,[email protected]:14356,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:12200,[email protected]:26676,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:14356,[email protected]:14256,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26706,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:4095,[email protected]:30242,[email protected]:14356,[email protected]:30206,[email protected]:14356,[email protected]:26656,[email protected]:14356,[email protected]:14356,[email protected]:26656,[email protected]:4095,[email protected]:14356,[email protected]:26656,[email protected]:26656,[email protected]:32494,[email protected]:26656,[email protected]:26656,[email protected]:14356,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:14356,[email protected]:26656,[email protected]:11751,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:11751,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26664,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:35656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:14356,[email protected]:14356,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:32660,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:11751,[email protected]:13656,[email protected]:26656,[email protected]:14356,[email protected]:12200,[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:11751,[email protected]:26656,[email protected]:2106,[email protected]:26656,[email protected]:2000,[email protected]:11751
    chainid=injective-1
    ```

    安装节点二进制文件

    ```
    wget https://github.com/InjectiveLabs/injective-chain-releases/releases/download/v1.11.5-1687535916/linux-amd64.zip
    unzip linux-amd64.zip
    sudo mv injectived /usr/bin
    sudo mv libwasmvm.x86_64.so /usr/lib
    $daemonname init node --chain-id=$chainid --home=$HOME/.$daemonhome
    cd
    ```

    设置cosmovisor

    ```
    go install github.com/cosmos/cosmos-sdk/cosmovisor/cmd/[email protected]
    cat <<'EOF' >>$HOME/.bashrc
    export DAEMON_NAME=$daemonname
    export DAEMON_HOME=$HOME/.$daemonhome
    EOF
    source ~/.bashrc
    mkdir -p $DAEMON_HOME/cosmovisor/genesis/bin
    mkdir -p $DAEMON_HOME/cosmovisor/upgrades
    cp $(which $DAEMON_NAME) $DAEMON_HOME/cosmovisor/genesis/bin
    mkdir -p $DAEMON_HOME/cosmovisor/upgrades/v1.11/bin/
    cp $(which $DAEMON_NAME) $DAEMON_HOME/cosmovisor/upgrades/v1.11/bin/
    ```

    打开端口(可选)

    ```
    sed -i 's/127.0.0.1:26657/0.0.0.0:26657/g' $DAEMON_HOME/config/config.toml
    sed -i '/\[api\]/{:a;n;/enable/s/false/true/;Ta;}' $DAEMON_HOME/config/app.toml
    $daemonname config node http://127.0.0.1:26657
    ```




    修改pruning

    ```
    sed -i 's/pruning = "default"/pruning = "custom"/g' $DAEMON_HOME/config/app.toml
    sed -i 's/pruning-keep-recent = "0"/pruning-keep-recent = "100"/g' $DAEMON_HOME/config/app.toml
    sed -i 's/pruning-interval = "0"/pruning-interval = "10"/g' $DAEMON_HOME/config/app.toml
    ```

    genesis和peer配置

    ```
    wget -O $DAEMON_HOME/config/genesis.json $genesis
    sed -i -e "s/^seeds *=.*/seeds = \"$seeds\"/; s/^persistent_peers *=.*/persistent_peers = \"$peers\"/" $DAEMON_HOME/config/config.toml
    ```


    下载快照(快照有点大,需要一定时间下载)最新快照 https://polkachu.com/tendermint_snapshots/injective

    ```
    wget -O injective_54844590.tar.lz4 https://snapshots.polkachu.com/snapshots/injective/injective_54844590.tar.lz4 --inet4-only
    lz4 -c -d injective_54844590.tar.lz4 | tar -x -C $HOME/.injectived
    ```

    配置服务

    ```
    sudo tee /etc/systemd/system/${chain}-cosmovisor.service > /dev/null <<EOF
    [Unit]
    Description=cosmovisor
    After=network-online.target
    [Service]
    User=$USER
    ExecStart=$(which cosmovisor) start --home=${DAEMON_HOME}
    Restart=always
    RestartSec=3
    LimitNOFILE=4096
    Environment="DAEMON_NAME=${daemonname}"
    Environment="DAEMON_HOME=${DAEMON_HOME}"
    Environment="DAEMON_ALLOW_DOWNLOAD_BINARIES=false"
    Environment="DAEMON_RESTART_AFTER_UPGRADE=true"
    Environment="UNSAFE_SKIP_BACKUP=true"
    Environment="DAEMON_LOG_BUFFER_SIZE=512"
    [Install]
    WantedBy=multi-user.target
    EOF
    ```

    启动

    ```
    sudo systemctl daemon-reload
    sudo systemctl enable injective-cosmovisor.service
    sudo systemctl restart injective-cosmovisor.service
    ```

    看日志(我的7950x独服等了一个多小时日志才开始动,不清楚什么情况)

    ```
    sudo journalctl -u injective-cosmovisor.service -f -o cat
    ```


    检查是否同步(预计同步时间很慢)
    ```
    curl localhost:26657/status | jq .result.sync_info
    ```

    "catching_up": 显示为`false` 即已经同步