diff --git a/nexus.sh b/nexus.sh new file mode 100644 index 0000000..79cfdce --- /dev/null +++ b/nexus.sh @@ -0,0 +1,149 @@ +#!/bin/bash + +# 主菜单函数 +function main_menu() { + while true; do + clear + echo "脚本由大赌社区哈哈哈哈编写,推特 @ferdie_jhovie,免费开源,请勿相信收费" + echo "如有问题,可联系推特,仅此只有一个号" + echo "新建了一个电报群,方便大家交流:t.me/Sdohua" + echo "================================================================" + echo "退出脚本,请按键盘 ctrl + C 退出即可" + echo "请选择要执行的操作:" + echo "1. 启动节点" + echo "2. 查看 Prover 状态" + echo "3. 查看日志" + echo "4. 删除节点" + echo "5. 退出" + + read -p "请输入选项 (1-5): " choice + + case $choice in + 1) + start_node # 调用启动节点函数 + ;; + 2) + check_prover_status # 调用查看 Prover 状态函数 + ;; + 3) + view_logs # 调用查看日志函数 + ;; + 4) + delete_node # 调用删除节点函数 + ;; + 5) + echo "退出脚本。" + exit 0 + ;; + *) + echo "无效选项,请重新选择。" + ;; + esac + done +} + +# 启动节点的函数 +function start_node() { + # 检查并安装 Git + if ! command -v git &> /dev/null; then + echo "Git 未安装。正在安装 Git..." + if ! sudo apt install git -y; then + echo "安装 Git 失败。" # 错误信息 + exit 1 + fi + else + echo "Git 已安装。" # 成功信息 + fi + + # 检查 Rust 是否已安装 + if command -v rustc &> /dev/null; then + echo "Rust 已安装,版本为: $(rustc --version)" + else + echo "Rust 未安装,正在安装 Rust..." + # 使用 rustup 安装 Rust + curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh + echo "Rust 安装完成。" + + # 加载 Rust 环境 + source $HOME/.cargo/env + echo "Rust 环境已加载。" + fi + + # 克隆指定的 GitHub 仓库 + echo "正在克隆仓库..." + git clone https://github.com/nexus-xyz/network-api.git + + # 安装依赖项 + cd $HOME/network-api/clients/cli + show_status "安装所需的依赖项..." "progress" + if ! sudo apt install pkg-config libssl-dev -y; then + show_status "安装依赖项失败。" "error" + exit 1 + fi + + # 创建 systemd 服务文件 + show_status "创建 systemd 服务..." "progress" + SERVICE_FILE="/etc/systemd/system/$SERVICE_NAME.service" # 定义服务文件路径 + if ! sudo bash -c "cat > $SERVICE_FILE <