官方最低配置要求(配置比一般节点高很多)
(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
即已经同步