Skip to content

Instantly share code, notes, and snippets.

@silentnoname
Created December 19, 2023 09:27
Show Gist options
  • Save silentnoname/96d734b1c1ba893a6a743868cec4d042 to your computer and use it in GitHub Desktop.
Save silentnoname/96d734b1c1ba893a6a743868cec4d042 to your computer and use it in GitHub Desktop.
injective 节点配置要求比较高,我一开始跑的时候不知道为什么卡住了很久(一个多小时)。仅供参考。

官方最低配置要求(配置比一般节点高很多)

(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 即已经同步

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment