Evmos 测试网在Cosmovisor运行教程

Artifact Staking
6 min readMay 27, 2022

该指南为Evmos测试网设置Cosmovisor的快速指南。

English

Cosmovisor是Cosmos SDK应用二进制文件的一个小型进程管理器,监控治理模块中传入的链式升级提案。当发现一个被批准的提议时,cosmovisor可以在停止当前的二进制文件的同时,自动下载新的二进制文件。从旧的二进制文件切换到新的二进制文件,最后用新的二进制文件重新启动节点。

安装go

下载并安装go。如果你已经在运行Evmos testnet,那么大概率你已经安装了go。如已安装,请跳过该步骤操作。

# Remove any existing go installation
sudo rm -rf /usr/local/go
# Install the latest version of Go with this helpful script
curl https://raw.githubusercontent.com/canha/golang-tools-install-script/master/goinstall.sh | bash
# Update environment variables to include go
cat <<'EOF' >>$HOME/.profile
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin
EOF
#Housekeeping
source $HOME/.profile

检查go版本,确保它安装正确。你可能需要打开一个新的shell,这样才能发挥作用。Go在安装上有点反复。

go version

安装Evmos

下载并安装evmosd二进制文件。如果你已经下载,请跳过该步骤操作。

git clone https://github.com/tharsis/evmos.git
cd evmos
make install

安装Cosmovisor

下载并安装Cosmos-SDK。v0.44.2是发布的最新稳定版本。对于所有可能读到这篇文章的人,请到GitHub页面寻找最新的版本,并更新下面的代码以匹配。

git clone https://github.com/cosmos/cosmos-sdk
cd cosmos-sdk
git checkout v0.44.2
make cosmovisor
cp cosmovisor/cosmovisor $GOPATH/bin/cosmovisor
cd $HOME

为Cosmovisor建立目录结构

mkdir -p ~/.evmosd
mkdir -p ~/.evmosd/cosmovisor
mkdir -p ~/.evmosd/cosmovisor/genesis
mkdir -p ~/.evmosd/cosmovisor/genesis/bin
mkdir -p ~/.evmosd/cosmovisor/upgrades

开始历史数据迁移

echo "# Setup Cosmovisor" >> ~/.profile
echo "export DAEMON_NAME=evmosd" >> ~/.profile
echo "export DAEMON_HOME=$HOME/.evmosd" >> ~/.profile
source ~/.profile

将evmosd二进制文件复制到Cosmovisor目录中。

cp $GOPATH/bin/evmosd ~/.evmosd/cosmovisor/genesis/bin

为Cosmovisor设置一个Systemd服务。确保你把<yourUserName>改为你想用的任何用户名。

sudo tee /etc/systemd/system/evmosd.service > /dev/null <<EOF  
[Unit]
Description=Evmos Daemon
After=network-online.target
[Service]
User=<yourUserName>
ExecStart=$(which cosmovisor) start
Restart=always
RestartSec=3
LimitNOFILE=infinityEnvironment="DAEMON_HOME=$HOME/.evmosd"
Environment="DAEMON_NAME=evmosd"
Environment="DAEMON_ALLOW_DOWNLOAD_BINARIES=false"
Environment="DAEMON_RESTART_AFTER_UPGRADE=true"
[Install]
WantedBy=multi-user.target
EOF

启动Cosmovisor服务

sudo -S systemctl daemon-reload
sudo -S systemctl enable evmosd
sudo -S systemctl start evmosd
sudo -S systemctl status evmosd

Evmos Olympus Mons v0.4.2 升级

首先,有一些目录正在维护中。维护的目录应该是v0.4.1。需要注意的是,在最后升级到v0.4.2后,目录需要与升级建议中的内容保持一致。

cd ~
mkdir ~/.evmosd/cosmovisor/upgrades/Olympus-Mons-v0.4.1
mkdir ~/.evmosd/cosmovisor/upgrades/Olympus-Mons-v0.4.1/binrm -R evmos

下载并编译Evmos Olympus Mons v0.4.2

git clone https://github.com/tharsis/evmos.git
cd evmos
git checkout v0.4.2
make install

将v0.4.2二进制文件复制到Cosmovisor升级文件夹中。

cp $GOPATH/bin/evmosd ~/.evmosd/cosmovisor/upgrades/Olympus-Mons-v0.4.1/bin

就是这样! 只需等待升级块的到来。一旦它到来,Cosmovisor将检测到升级,停止你的节点,部署新的二进制文件,然后重新启动你的节点。

最后享受那种不必为升级而感到压力的体验吧!!!。

--

--

Artifact Staking

Artifact Staking is a cutting edge, forward leaning blockchain infrastructure provider.