Cysic/cysic-aleo.sh

143 lines
4.1 KiB
Bash
Raw Permalink Normal View History

2024-08-21 17:05:56 +00:00
#!/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
# 下载代理服务器
2024-08-21 17:11:35 +00:00
wget https://git.dadunode.com/smeb_y/Cysic/raw/branch/main/cysic-prover-agent-v0.1.15.tgz
2024-08-21 17:05:56 +00:00
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
# 下载证明器
2024-08-21 17:11:35 +00:00
wget https://git.dadunode.com/smeb_y/Cysic/raw/branch/main/cysic-aleo-prover-v0.1.17.tgz
2024-08-21 17:05:56 +00:00
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