nexus测试网3

仅在腾讯云 2核4G ubuntu24.04测试。

##########脚本开始##########

#!/bin/bash

WALLET_ADDRESS="你的钱包地址"
SESSION_NAME="nexus-node"
NEXUS_CLI_PATH="/root/.nexus/bin/nexus-network"
LOG_FILE="/tmp/nexus_register_node.log"

echo "========== Nexus 节点一键部署开始 =========="

echo "[1/6] 安装依赖 screen..."
apt update && apt install -y screen curl

echo "[2/6] 安装 Nexus CLI..."
yes | curl -s https://cli.nexus.xyz/ | sh
source /root/.bashrc

echo "[3/6] 注册钱包用户..."
$NEXUS_CLI_PATH register-user --wallet-address "$WALLET_ADDRESS"

echo "[4/6] 注册节点..."
$NEXUS_CLI_PATH register-node | tee "$LOG_FILE"

NODE_ID=$(grep -oP 'with ID:\s*\K[0-9]+' "$LOG_FILE")
if [[ -n "$NODE_ID" ]]; then
  echo "✅ 节点注册成功,Node ID: $NODE_ID"
else
  echo "⚠️ 节点注册失败,请手动排查"
fi

DAEMON_SCRIPT="/usr/local/bin/nexus-screen-daemon.sh"
echo "[5/6] 创建 screen 守护脚本: $DAEMON_SCRIPT"

cat <<EOF > "$DAEMON_SCRIPT"
#!/bin/bash

SESSION_NAME="$SESSION_NAME"
NEXUS_CLI="$NEXUS_CLI_PATH"

if ! screen -list | grep -q "\$SESSION_NAME"; then
  echo "启动 nexus-network 中..."
  screen -dmS \$SESSION_NAME \$NEXUS_CLI start
else
  echo "nexus-network 已运行在 screen 会话: \$SESSION_NAME"
fi
EOF

chmod +x "$DAEMON_SCRIPT"

SERVICE_FILE="/etc/systemd/system/nexus-network.service"
echo "[6/6] 创建 systemd 服务文件: $SERVICE_FILE"

cat <<EOF > "$SERVICE_FILE"
[Unit]
Description=Nexus Network Node (via screen)
After=network.target

[Service]
ExecStart=/usr/local/bin/nexus-screen-daemon.sh
ExecStop=/usr/bin/screen -S $SESSION_NAME -X quit
RemainAfterExit=true
User=root
Restart=on-failure
RestartSec=10s

[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reexec
systemctl daemon-reload
systemctl enable --now nexus-network.service

echo "✅ 服务已启动,使用 screen 管理 nexus-network"

echo "========== 部署完成 =========="
echo "▶ 查看状态: systemctl status nexus-network.service"
echo "▶ 查看日志: screen -r $SESSION_NAME"
echo "▶ 分离会话: Ctrl + A 再按 D"



##########脚本结束##########

默认json配置文件位于/root/.nexus/config.json。

操作命令
查看 screen 运行状态screen -ls
进入 nexus 日志会话screen -r nexus-node
分离(不关闭)Ctrl + A 然后按 D
停止 nexus 节点服务systemctl stop nexus-network
开机自启已开启systemctl enable nexus-network
查看 systemd 状态日志journalctl -u nexus-network -f

发表评论