Nimble/Nimble.sh

112 lines
4.2 KiB
Bash
Raw Normal View History

2024-03-22 07:15:15 +00:00
#!/bin/bash
# 检查是否以root用户运行脚本
if [ "$(id -u)" != "0" ]; then
2024-03-31 06:41:05 +00:00
echo "此脚本需要以root用户权限运行。/This script needs to be run with root user privileges."
echo "请尝试使用 'sudo -i' 命令切换到root用户然后再次运行此脚本。/Please try to switch to root user with 'sudo -i' command, then run this script again."
2024-03-22 07:15:15 +00:00
exit 1
fi
2024-03-31 06:46:56 +00:00
# 导入Socks5代理
2024-04-02 02:50:51 +00:00
read -p "请输入HTTP代理地址 (格式为 host:port),如不需要代理请留空: /Please enter the HTTP proxy address (format host:port), leave blank if no proxy is needed: " proxy
2024-03-31 06:46:56 +00:00
if [ ! -z "$proxy" ]; then
2024-04-02 02:50:51 +00:00
export http_proxy=http://$proxy
export https_proxy=http://$proxy
echo "已设置HTTP代理为: $proxy /HTTP proxy is set to: $proxy"
2024-03-31 06:46:56 +00:00
else
echo "未设置代理 /No proxy set"
fi
2024-03-22 07:15:15 +00:00
# 节点安装功能
function install_node() {
2024-03-31 09:19:17 +00:00
apt update
2024-04-17 09:34:42 +00:00
apt install -y git python3-venv bison screen binutils gcc make bsdmainutils python3-pip build-essential
2024-03-31 09:19:17 +00:00
2024-04-01 03:16:32 +00:00
2024-03-31 09:19:17 +00:00
# 安装GO
rm -rf /usr/local/go
wget https://go.dev/dl/go1.22.1.linux-amd64.tar.gz -P /tmp/
tar -C /usr/local -xzf /tmp/go1.22.1.linux-amd64.tar.gz
echo "export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin" >> ~/.bashrc
2024-03-31 09:45:41 +00:00
export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin
2024-03-31 09:19:17 +00:00
go version
# 克隆官方仓库并安装
mkdir -p $HOME/nimble && cd $HOME/nimble
git clone https://github.com/nimble-technology/wallet-public.git
cd wallet-public
make install
# 创建钱包
echo "首次创建需要生成两个钱包,一个作为主钱包,一个作为挖矿钱包,需要提交官方审核。"
read -p "请输入你想要创建的钱包数量/Enter the number of wallets you want to create: " wallet_count
2024-03-31 09:06:52 +00:00
for i in $(seq 1 $wallet_count); do
wallet_name="wallet$i"
2024-04-29 08:34:15 +00:00
nimble-networkd keys add $wallet_name --keyring-backend test
2024-03-31 09:06:52 +00:00
echo "钱包 $wallet_name 已创建/Wallet $wallet_name has been created."
done
2024-03-22 07:15:15 +00:00
2024-03-31 09:19:17 +00:00
echo "=============================备份好钱包和助记词,下方需要使用==================================="
echo "=============================Make sure to backup your wallet and mnemonic phrase, it will be needed below==================================="
2024-03-31 06:41:05 +00:00
2024-03-31 09:19:17 +00:00
# 确认备份
read -p "是否已经备份好助记词? Have you backed up the mnemonic phrase? (y/n) " backup_confirmed
if [ "$backup_confirmed" != "y" ]; then
echo "请先备份好助记词,然后再继续执行脚本。/Please backup the mnemonic phrase first, then continue running the script."
exit 1
2024-03-31 06:41:05 +00:00
fi
2024-03-22 07:15:15 +00:00
2024-03-31 09:19:17 +00:00
# 启动挖矿
read -p "请输入挖矿钱包地址: Please enter your mining wallet address: " wallet_addr
export wallet_addr
cd $HOME/nimble
git clone https://github.com/nimble-technology/nimble-miner-public.git
cd nimble-miner-public
2024-07-08 15:30:22 +00:00
pip install numpy==1.24.4
2024-03-31 09:19:17 +00:00
make install
source ./nimenv_localminers/bin/activate
screen -dmS nim bash -c "make run addr=$wallet_addr"
echo "安装完成,请输入命令 'screen -r nim' 查看运行状态。/Installation complete, enter 'screen -r nim' to view the running status."
2024-03-22 07:15:15 +00:00
}
2024-04-28 02:06:17 +00:00
# 查看节点日志
function lonely_start() {
read -p "请输入挖矿钱包地址: Please enter your mining wallet address: " wallet_addr
export wallet_addr
cd $HOME/nimble/nimble-miner-public
source ./nimenv_localminers/bin/activate
screen -dmS nim bash -c "make run addr=$wallet_addr"
echo "独立启动,请输入命令 'screen -r nim' 查看运行状态。/Installation complete, enter 'screen -r nim' to view the running status."
}
2024-05-16 08:09:32 +00:00
function uninstall_node() {
screen -S nim -X quit
rm -rf $HOME/nimble
}
2024-04-28 02:06:17 +00:00
2024-03-22 07:15:15 +00:00
# 主菜单
function main_menu() {
clear
2024-03-31 06:41:05 +00:00
echo "请选择要执行的操作: /Please select an operation to execute:"
echo "1. 安装常规节点 /Install a regular node"
2024-05-16 08:09:32 +00:00
echo "2. 独立启动挖矿节点 /lonely_start"
echo "3. 卸载nimble挖矿 /uninstall_node"
2024-03-31 06:41:05 +00:00
read -p "请输入选项1: Please enter your choice (1): " OPTION
2024-03-22 07:15:15 +00:00
case $OPTION in
1) install_node ;;
2024-04-28 02:06:17 +00:00
2) lonely_start ;;
2024-05-16 08:09:32 +00:00
3) uninstall_node ;;
2024-03-31 06:41:05 +00:00
*) echo "无效选项。/Invalid option." ;;
2024-03-22 07:15:15 +00:00
esac
}
main_menu