143 lines
4.1 KiB
Bash
143 lines
4.1 KiB
Bash
|
#!/bin/bash
|
|||
|
|
|||
|
# Cysic 代理和证明器安装路径
|
|||
|
CYSIC_AGENT_PATH="$HOME/cysic-prover-agent"
|
|||
|
CYSIC_PROVER_PATH="$HOME/cysic-aleo-prover"
|
|||
|
|
|||
|
# 检查是否以root用户运行脚本
|
|||
|
if [ "$(id -u)" != "0" ]; then
|
|||
|
echo "此脚本需要以root用户权限运行。"
|
|||
|
echo "请尝试使用 'sudo -i' 命令切换到root用户,然后再次运行此脚本。"
|
|||
|
exit 1
|
|||
|
fi
|
|||
|
|
|||
|
# 安装必要的依赖
|
|||
|
function install_dependencies() {
|
|||
|
apt update && apt upgrade -y
|
|||
|
apt install curl wget -y
|
|||
|
}
|
|||
|
|
|||
|
# 检查并安装 Node.js 和 npm
|
|||
|
function check_and_install_nodejs_and_npm() {
|
|||
|
if command -v node > /dev/null 2>&1; then
|
|||
|
echo "Node.js 已安装,版本: $(node -v)"
|
|||
|
else
|
|||
|
echo "Node.js 未安装,正在安装..."
|
|||
|
curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash -
|
|||
|
sudo apt-get install -y nodejs
|
|||
|
fi
|
|||
|
if command -v npm > /dev/null 2>&1; then
|
|||
|
echo "npm 已安装,版本: $(npm -v)"
|
|||
|
else
|
|||
|
echo "npm 未安装,正在安装..."
|
|||
|
sudo apt-get install -y npm
|
|||
|
fi
|
|||
|
}
|
|||
|
|
|||
|
# 检查并安装 PM2
|
|||
|
function check_and_install_pm2() {
|
|||
|
if command -v pm2 > /dev/null 2>&1; then
|
|||
|
echo "PM2 已安装,版本: $(pm2 -v)"
|
|||
|
else
|
|||
|
echo "PM2 未安装,正在安装..."
|
|||
|
npm install pm2@latest -g
|
|||
|
fi
|
|||
|
}
|
|||
|
|
|||
|
# 安装代理服务器
|
|||
|
function install_agent() {
|
|||
|
# 创建代理目录
|
|||
|
rm -rf $CYSIC_AGENT_PATH
|
|||
|
mkdir -p $CYSIC_AGENT_PATH
|
|||
|
cd $CYSIC_AGENT_PATH
|
|||
|
|
|||
|
# 下载代理服务器
|
|||
|
wget https://github.com/cysic-labs/aleo-miner/releases/download/v0.1.15/cysic-prover-agent-v0.1.15.tgz
|
|||
|
tar -xf cysic-prover-agent-v0.1.15.tgz
|
|||
|
cd cysic-prover-agent-v0.1.15
|
|||
|
|
|||
|
# 启动代理服务器
|
|||
|
bash start.sh
|
|||
|
echo "代理服务器已启动。"
|
|||
|
}
|
|||
|
|
|||
|
# 安装证明器
|
|||
|
function install_prover() {
|
|||
|
# 创建证明器目录
|
|||
|
rm -rf $CYSIC_PROVER_PATH
|
|||
|
mkdir -p $CYSIC_PROVER_PATH
|
|||
|
cd $CYSIC_PROVER_PATH
|
|||
|
|
|||
|
# 下载证明器
|
|||
|
wget https://github.com/cysic-labs/aleo-miner/releases/download/v0.1.17/cysic-aleo-prover-v0.1.17.tgz
|
|||
|
tar -xf cysic-aleo-prover-v0.1.17.tgz
|
|||
|
cd cysic-aleo-prover-v0.1.17
|
|||
|
|
|||
|
# 获取用户的奖励领取地址
|
|||
|
read -p "请输入您的奖励领取地址 (Aleo 地址,没有的话进入 https://www.provable.tools/account 创建): " CLAIM_REWARD_ADDRESS
|
|||
|
|
|||
|
# 获取用户的 IP 地址
|
|||
|
read -p "请输入代理服务器的 IP 地址 (例如: 192.168.1.100): " PROVER_IP
|
|||
|
|
|||
|
# 创建启动脚本
|
|||
|
cat <<EOF > start_prover.sh
|
|||
|
#!/bin/bash
|
|||
|
cd $CYSIC_PROVER_PATH/cysic-aleo-prover-v0.1.17
|
|||
|
export LD_LIBRARY_PATH=./:\$LD_LIBRARY_PATH
|
|||
|
./cysic-aleo-prover -l ./prover.log -a $PROVER_IP -w $CLAIM_REWARD_ADDRESS.$(curl -s ifconfig.me) -tls=true -p asia.aleopool.cysic.xyz:16699
|
|||
|
EOF
|
|||
|
chmod +x start_prover.sh
|
|||
|
|
|||
|
# 使用 PM2 启动证明器
|
|||
|
pm2 start start_prover.sh --name "cysic-aleo-prover"
|
|||
|
echo "证明器已安装并启动。"
|
|||
|
}
|
|||
|
|
|||
|
# 查看证明器日志
|
|||
|
function check_prover_logs() {
|
|||
|
pm2 logs cysic-aleo-prover
|
|||
|
}
|
|||
|
|
|||
|
# 停止证明器
|
|||
|
function stop_prover() {
|
|||
|
pm2 stop cysic-aleo-prover
|
|||
|
echo "证明器已停止。"
|
|||
|
}
|
|||
|
|
|||
|
# 启动证明器
|
|||
|
function start_prover() {
|
|||
|
pm2 start cysic-aleo-prover
|
|||
|
echo "证明器已启动。"
|
|||
|
}
|
|||
|
|
|||
|
# 重启证明器
|
|||
|
function restart_prover() {
|
|||
|
pm2 restart cysic-aleo-prover
|
|||
|
echo "证明器已重启。"
|
|||
|
}
|
|||
|
|
|||
|
# 主菜单
|
|||
|
function main_menu() {
|
|||
|
clear
|
|||
|
echo "========================= Cysic 代理和证明器安装 ======================================="
|
|||
|
echo "请选择要执行的操作:"
|
|||
|
echo "1. 安装 Cysic 代理服务器"
|
|||
|
echo "2. 安装 Cysic 证明器"
|
|||
|
echo "3. 查看证明器日志"
|
|||
|
echo "4. 停止证明器"
|
|||
|
echo "5. 启动证明器"
|
|||
|
echo "6. 重启证明器"
|
|||
|
read -p "请输入选项(1-6): " OPTION
|
|||
|
case $OPTION in
|
|||
|
1) install_dependencies && check_and_install_nodejs_and_npm && check_and_install_pm2 && install_agent ;;
|
|||
|
2) install_dependencies && check_and_install_nodejs_and_npm && check_and_install_pm2 && install_prover ;;
|
|||
|
3) check_prover_logs ;;
|
|||
|
4) stop_prover ;;
|
|||
|
5) start_prover ;;
|
|||
|
6) restart_prover ;;
|
|||
|
*) echo "无效选项。" ;;
|
|||
|
esac
|
|||
|
}
|
|||
|
|
|||
|
# 显示主菜单
|
|||
|
main_menu
|