Are you an LLM? Read llms.txt for a summary of the docs, or llms-full.txt for the full context.
Skip to content

本指南提供了在各种平台上安装和设置 Stable 节点的详细说明。

先决条件

开始安装前,请确保您已具备:

  • 满足所有 系统要求
  • 服务器的 root 或 sudo 访问权限
  • Linux 命令行基础知识

安装方法

请使用适用于您平台的预编译二进制文件。Stable 目前不支持从源代码构建。

主网

Linux AMD64

# 下载适用于 AMD64 架构的最新二进制文件
wget https://stable-data-dist.s3.us-east-1.amazonaws.com/mainnet/binary/stabled-latest-linux-amd64-mainnet.tar.gz
 
# 解压文件
tar -xvzf stabled-latest-linux-amd64-mainnet.tar.gz
 
# 将二进制文件移动到系统路径
sudo mv stabled /usr/bin/
 
# 验证安装
stabled version

Linux ARM64

# 下载适用于 ARM64 架构的二进制文件
wget https://stable-data-dist.s3.us-east-1.amazonaws.com/mainnet/binary/stabled-latest-linux-arm64-mainnet.tar.gz
 
# 解压并安装
tar -xvzf stabled-latest-linux-arm64-mainnet.tar.gz
sudo mv stabled /usr/bin/
 
# 验证安装
stabled version

测试网

Linux AMD64

# 下载适用于 AMD64 架构的最新二进制文件
wget https://stable-data-dist.s3.us-east-1.amazonaws.com/testnet/binary/stabled-latest-linux-amd64-testnet.tar.gz
 
# 解压文件
tar -xvzf stabled-latest-linux-amd64-testnet.tar.gz
 
# 将二进制文件移动到系统路径
sudo mv stabled /usr/bin/
 
# 验证安装
stabled version

Linux ARM64

# 下载适用于 ARM64 架构的二进制文件
wget https://stable-data-dist.s3.us-east-1.amazonaws.com/testnet/binary/stabled-latest-linux-arm64-testnet.tar.gz
 
# 解压并安装
tar -xvzf stabled-latest-linux-arm64-testnet.tar.gz
sudo mv stabled /usr/bin/
 
# 验证安装
stabled version

节点初始化

安装二进制文件后,初始化您的节点:

步骤 1:设置节点名称

# 设置您的节点别名(选择一个唯一的名称)
export MONIKER="your-node-name"

步骤 2:初始化节点

主网

# 使用主网链 ID 初始化
stabled init $MONIKER --chain-id stable_988-1
 
# 这将在 ~/.stabled/ 创建配置目录

注意:有关当前网络参数(包括链 ID),请参阅 主网信息

测试网

# 使用测试网链 ID 初始化
stabled init $MONIKER --chain-id stabletestnet_2201-1
 
# 这将在 ~/.stabled/ 创建配置目录

注意:有关当前网络参数(包括链 ID),请参阅 测试网信息

步骤 3:下载创世文件

Mainnet
# 备份默认创世文件
mv ~/.stabled/config/genesis.json ~/.stabled/config/genesis.json.backup
 
# 下载主网创世文件
wget https://stable-data-dist.s3.us-east-1.amazonaws.com/mainnet/configuration/genesis.zip
unzip genesis.zip
 
# 将创世文件移动到配置目录
cp genesis.json ~/.stabled/config/genesis.json
 
# 验证创世文件校验和
sha256sum ~/.stabled/config/genesis.json
# 预期值: e1ceda79a3cc48a1028ca8646a2e9e2d156f610637cfb8b428ca8354277921f1

步骤 4:配置节点

下载配置文件

Mainnet
# 下载优化配置(根据您的节点类型选择一个)
# 适用于 RPC/全节点:
wget https://stable-data-dist.s3.us-east-1.amazonaws.com/mainnet/configuration/rpc_node_config.zip
unzip rpc_node_config.zip
 
# 适用于归档节点:
# wget https://stable-data-dist.s3.us-east-1.amazonaws.com/mainnet/configuration/archive_node_config.zip
# unzip archive_node_config.zip
 
# 备份原始配置
cp ~/.stabled/config/config.toml ~/.stabled/config/config.toml.backup
 
# 应用新配置
cp config.toml ~/.stabled/config/config.toml
 
# 更新配置中的别名
sed -i "s/^moniker = \".*\"/moniker = \"$MONIKER\"/" ~/.stabled/config/config.toml

基本配置更新

编辑 ~/.stabled/config/app.toml

# 启用 JSON-RPC 以实现 EVM 兼容性
[json-rpc]
enable = true
address = "0.0.0.0:8545"
ws-address = "0.0.0.0:8546"
allow-unprotected-txs = true

编辑 ~/.stabled/config/config.toml

Mainnet
# P2P 配置
[p2p]
# 最大对等节点数
max_num_inbound_peers = 50
max_num_outbound_peers = 30
 
# 种子节点
seeds = "c21897d374c480a963edcda941ac94030895f6b4@seed1.stable.xyz:46656"
 
# 持久对等节点 (主网种子节点)
persistent_peers = "b896f6f8ca5a4d1cc40de09407df0c96e76df950@peer1.stable.xyz:26656"
 
# 启用对等节点交换
pex = true
 
# RPC 配置
[rpc]
# 监听地址
laddr = "tcp://0.0.0.0:26657"
 
# 同时连接的最大数量
max_open_connections = 900
 
# CORS 设置 (生产环境请调整)
cors_allowed_origins = ["*"]

Systemd 服务设置

创建 systemd 服务以进行自动管理:

步骤 1:创建服务文件

Mainnet
sudo tee /etc/systemd/system/stabled.service > /dev/null <<EOF
[Unit]
Description=Stable Daemon Service
After=network-online.target
 
[Service]
User=$USER
ExecStart=/usr/bin/stabled start --chain-id stable_988-1
Restart=always
RestartSec=3
LimitNOFILE=65535
StandardOutput=journal
StandardError=journal
SyslogIdentifier=stabled
 
[Install]
WantedBy=multi-user.target
EOF

步骤 2:启用并启动服务

# 重新加载 systemd 配置
sudo systemctl daemon-reload
 
# 启用服务在启动时运行
sudo systemctl enable stabled
 
# 启动服务
sudo systemctl start stabled
 
# 检查服务状态
sudo systemctl status stabled
 
# 查看日志
sudo journalctl -u stabled -f

Cosmovisor 设置(推荐用于自动升级)

Cosmovisor 是一个进程管理器,可以自动处理链升级。这是生产节点的推荐设置。

步骤 1:安装 Cosmovisor

# 安装 Cosmovisor
go install cosmossdk.io/tools/cosmovisor/cmd/cosmovisor@latest
 
# 或下载预编译二进制文件
wget https://github.com/cosmos/cosmos-sdk/releases/download/cosmovisor%2Fv1.7.0/cosmovisor-v1.7.0-linux-amd64.tar.gz
tar -xvzf cosmovisor-v1.7.0-linux-amd64.tar.gz
sudo mv cosmovisor /usr/bin/
 
# 验证安装
cosmovisor version

步骤 2:设置环境变量

# 添加到 ~/.bashrc 或 ~/.profile
echo "# Cosmovisor Configuration" >> ~/.bashrc
echo "export DAEMON_NAME=stabled" >> ~/.bashrc
echo "export DAEMON_HOME=$HOME/.stabled" >> ~/.bashrc
echo "export DAEMON_ALLOW_DOWNLOAD_BINARIES=true" >> ~/.bashrc
echo "export DAEMON_RESTART_AFTER_UPGRADE=true" >> ~/.bashrc
echo "export DAEMON_LOG_BUFFER_SIZE=512" >> ~/.bashrc
echo "export UNSAFE_SKIP_BACKUP=true" >> ~/.bashrc
 
# 加载变量
source ~/.bashrc

步骤 3:设置 Cosmovisor 目录结构

# 创建 cosmovisor 目录结构
mkdir -p ~/.stabled/cosmovisor/genesis/bin
mkdir -p ~/.stabled/cosmovisor/upgrades
 
# 将当前二进制文件复制到 genesis
cp /usr/bin/stabled ~/.stabled/cosmovisor/genesis/bin/
 
# 创建当前软链接
ln -s ~/.stabled/cosmovisor/genesis ~/.stabled/cosmovisor/current
 
# 验证设置
ls -la ~/.stabled/cosmovisor/
cosmovisor run version

步骤 4:设置环境变量

# 设置服务名称(默认:stable)
export SERVICE_NAME=stable

步骤 5:创建服务文件

Mainnet
sudo tee /etc/systemd/system/${SERVICE_NAME}.service > /dev/null <<EOF
[Unit]
Description=Cosmovisor daemon
After=network-online.target
 
[Service]
Environment="DAEMON_NAME=stabled"
Environment="DAEMON_HOME=$HOME/.stabled"
Environment="DAEMON_RESTART_AFTER_UPGRADE=true"
Environment="DAEMON_ALLOW_DOWNLOAD_BINARIES=true"
Environment="DAEMON_LOG_BUFFER_SIZE=512"
Environment="UNSAFE_SKIP_BACKUP=true"
User=$USER
ExecStart=$(which cosmovisor) run start --chain-id stable_988-1
Restart=always
RestartSec=3
LimitNOFILE=65535
StandardOutput=journal
StandardError=journal
SyslogIdentifier=${SERVICE_NAME}
 
[Install]
WantedBy=multi-user.target
EOF

步骤 6:启用并启动服务

# 重新加载 systemd
sudo systemctl daemon-reload
 
# 启用服务
sudo systemctl enable ${SERVICE_NAME}
 
# 启动服务
sudo systemctl start ${SERVICE_NAME}
 
# 检查状态
sudo systemctl status ${SERVICE_NAME}
 
# 查看日志
sudo journalctl -u ${SERVICE_NAME} -f

准备升级

当链升级宣布时:

# 示例:准备 v0.8.0 升级
UPGRADE_NAME="v0.8.0"
mkdir -p ~/.stabled/cosmovisor/upgrades/$UPGRADE_NAME/bin
 
# 下载新二进制文件
wget https://stable-data-dist.s3.us-east-1.amazonaws.com/testnet/binary/stabled-0.8.0-linux-amd64-testnet.tar.gz
tar -xvzf stabled-0.8.0-linux-amd64-testnet.tar.gz
 
# 放置在升级目录中
mv stabled ~/.stabled/cosmovisor/upgrades/$UPGRADE_NAME/bin/
 
# 验证二进制文件
~/.stabled/cosmovisor/upgrades/$UPGRADE_NAME/bin/stabled version
 
# Cosmovisor 将在升级高度自动切换到此二进制文件

监控 Cosmovisor

# 检查当前二进制版本
cosmovisor run version
 
# 查看升级信息
ls -la ~/.stabled/cosmovisor/upgrades/
 
# 检查服务日志以获取升级状态
sudo journalctl -u ${SERVICE_NAME} | grep -i upgrade
 
# 在升级期间监控实时日志
sudo journalctl -u ${SERVICE_NAME} -f

手动 Systemd 服务设置(替代方案)

如果您不想使用 Cosmovisor,可以创建一个标准的 systemd 服务:

步骤 1:设置环境变量

# 设置服务名称(默认:stable)
export SERVICE_NAME=stable

步骤 2:创建服务文件

Mainnet
sudo tee /etc/systemd/system/${SERVICE_NAME}.service > /dev/null <<EOF
[Unit]
Description=Stable Daemon Service
After=network-online.target
 
[Service]
User=$USER
ExecStart=/usr/bin/stabled start --chain-id stable_988-1
Restart=always
RestartSec=3
LimitNOFILE=65535
StandardOutput=journal
StandardError=journal
SyslogIdentifier=${SERVICE_NAME}
 
[Install]
WantedBy=multi-user.target
EOF

步骤 3:启用并启动服务

# 重新加载 systemd 配置
sudo systemctl daemon-reload
 
# 启用服务在启动时运行
sudo systemctl enable ${SERVICE_NAME}
 
# 启动服务
sudo systemctl start ${SERVICE_NAME}
 
# 检查服务状态
sudo systemctl status ${SERVICE_NAME}
 
# 查看日志
sudo journalctl -u ${SERVICE_NAME} -f

快速同步选项

为了更快地同步,请参阅 快照和同步指南,了解:

  • 归档节点快照
  • 剪枝节点快照

安装后验证

检查节点状态

# 检查节点是否正在运行
sudo systemctl status stabled
 
# 检查同步状态
curl -s localhost:26657/status | jq '.result.sync_info'
 
# 检查连接的对等节点
curl -s localhost:26657/net_info | jq '.result.n_peers'
 
# 检查最新区块
curl -s localhost:26657/status | jq '.result.sync_info.latest_block_height'

监控日志

# 跟踪服务日志
sudo journalctl -u stabled -f
 
# 检查错误
sudo journalctl -u stabled --since "1 hour ago" | grep -i error
 
# 检查对等节点连接
sudo journalctl -u stabled --since "10 minutes ago" | grep -i "peer"

安全强化

安装后,请保护您的节点:

防火墙配置

# 配置 UFW
sudo ufw allow 22/tcp  # SSH
sudo ufw allow 26656/tcp  # P2P
sudo ufw allow 26657/tcp  # RPC (仅当外部需要时)
sudo ufw enable

下一步

  1. 配置您的节点:参阅 配置指南
  2. 加速同步:查看 快照和同步
  3. 监控您的节点:设置 监控
  4. 加入社区:在 Discord 中获取支持

故障排除

如果您在安装过程中遇到问题:

  • 查阅 故障排除指南
  • 验证是否满足系统要求
  • 确保端口未被防火墙阻止
  • 检查磁盘空间和权限
  • 检查 systemd 日志中的错误