更新 ore.sh

This commit is contained in:
smeb_y 2024-08-08 07:23:17 +00:00
parent 95d88bd7f5
commit 39b256a1de

76
ore.sh
View File

@ -7,9 +7,7 @@ if [ "$(id -u)" != "0" ]; then
exit 1 exit 1
fi fi
function install_node() { function install_node() {
# 更新系统和安装必要的包 # 更新系统和安装必要的包
echo "更新系统软件包..." echo "更新系统软件包..."
sudo apt update && sudo apt upgrade -y sudo apt update && sudo apt upgrade -y
@ -30,8 +28,6 @@ if ! command -v solana-keygen &> /dev/null; then
echo "将 Solana CLI 添加到 PATH" echo "将 Solana CLI 添加到 PATH"
export PATH="$HOME/.local/share/solana/install/active_release/bin:$PATH" export PATH="$HOME/.local/share/solana/install/active_release/bin:$PATH"
export PATH="$HOME/.cargo/bin:$PATH" export PATH="$HOME/.cargo/bin:$PATH"
fi fi
# 创建 Solana 密钥对 # 创建 Solana 密钥对
@ -41,7 +37,6 @@ solana-keygen new --derivation-path m/44'/501'/0'/0' --force | tee solana-keygen
# 显示提示信息,要求用户确认已备份 # 显示提示信息,要求用户确认已备份
echo "请确保你已经备份了上面显示的助记词和私钥信息。" echo "请确保你已经备份了上面显示的助记词和私钥信息。"
echo "请向pubkey充值sol资产用于挖矿gas费用。" echo "请向pubkey充值sol资产用于挖矿gas费用。"
echo "备份完成后,请输入 'yes' 继续:" echo "备份完成后,请输入 'yes' 继续:"
read -p "" user_confirmation read -p "" user_confirmation
@ -70,10 +65,6 @@ source ~/.bashrc
read -p "请输入自定义的 RPC 地址建议使用免费的Quicknode 或者alchemy SOL rpc(默认设置使用 https://api.mainnet-beta.solana.com): " custom_rpc read -p "请输入自定义的 RPC 地址建议使用免费的Quicknode 或者alchemy SOL rpc(默认设置使用 https://api.mainnet-beta.solana.com): " custom_rpc
RPC_URL=${custom_rpc:-https://api.mainnet-beta.solana.com} RPC_URL=${custom_rpc:-https://api.mainnet-beta.solana.com}
# 获取用户输入的线程数或使用默认值
read -p "请输入挖矿时要使用的线程数 (默认设置 1): " custom_threads
THREADS=${custom_threads:-1}
# 获取用户输入的优先费用或使用默认值 # 获取用户输入的优先费用或使用默认值
read -p "请输入交易的优先费用 (默认设置 1): " custom_priority_fee read -p "请输入交易的优先费用 (默认设置 1): " custom_priority_fee
PRIORITY_FEE=${custom_priority_fee:-1} PRIORITY_FEE=${custom_priority_fee:-1}
@ -82,12 +73,11 @@ PRIORITY_FEE=${custom_priority_fee:-1}
session_name="ore" session_name="ore"
echo "开始挖矿,会话名称为 $session_name ..." echo "开始挖矿,会话名称为 $session_name ..."
start="while true; do ore --rpc $RPC_URL --keypair ~/.config/solana/id.json --priority-fee $PRIORITY_FEE mine --threads $THREADS; echo '进程异常退出,等待重启' >&2; sleep 1; done" start="while true; do ore --rpc $RPC_URL --keypair ~/.config/solana/id.json --priority-fee $PRIORITY_FEE mine; echo '进程异常退出,等待重启' >&2; sleep 1; done"
screen -dmS "$session_name" bash -c "$start" screen -dmS "$session_name" bash -c "$start"
echo "挖矿进程已在名为 $session_name 的 screen 会话中后台启动。" echo "挖矿进程已在名为 $session_name 的 screen 会话中后台启动。"
echo "使用 'screen -r $session_name' 命令重新连接到此会话。" echo "使用 'screen -r $session_name' 命令重新连接到此会话。"
} }
# 查看节点同步状态 # 查看节点同步状态
@ -119,15 +109,10 @@ grep -qxF 'export PATH="$HOME/.cargo/bin:$PATH"' ~/.bashrc || echo 'export PATH=
# 使改动生效 # 使改动生效
source ~/.bashrc source ~/.bashrc
# 获取用户输入的 RPC 地址或使用默认地址 # 获取用户输入的 RPC 地址或使用默认地址
read -p "请输入自定义的 RPC 地址建议使用免费的Quicknode 或者alchemy SOL rpc(默认设置使用 https://api.mainnet-beta.solana.com): " custom_rpc read -p "请输入自定义的 RPC 地址建议使用免费的Quicknode 或者alchemy SOL rpc(默认设置使用 https://api.mainnet-beta.solana.com): " custom_rpc
RPC_URL=${custom_rpc:-https://api.mainnet-beta.solana.com} RPC_URL=${custom_rpc:-https://api.mainnet-beta.solana.com}
# 获取用户输入的线程数或使用默认值
read -p "请输入挖矿时要使用的线程数 (默认设置 1): " custom_threads
THREADS=${custom_threads:-1}
# 获取用户输入的优先费用或使用默认值 # 获取用户输入的优先费用或使用默认值
read -p "请输入交易的优先费用 (默认设置 1): " custom_priority_fee read -p "请输入交易的优先费用 (默认设置 1): " custom_priority_fee
PRIORITY_FEE=${custom_priority_fee:-1} PRIORITY_FEE=${custom_priority_fee:-1}
@ -136,7 +121,7 @@ source ~/.bashrc
session_name="ore" session_name="ore"
echo "开始挖矿,会话名称为 $session_name ..." echo "开始挖矿,会话名称为 $session_name ..."
start="while true; do ore --rpc $RPC_URL --keypair ~/.config/solana/id.json --priority-fee $PRIORITY_FEE mine --threads $THREADS; echo '进程异常退出,等待重启' >&2; sleep 1; done" start="while true; do ore --rpc $RPC_URL --keypair ~/.config/solana/id.json --priority-fee $PRIORITY_FEE mine; echo '进程异常退出,等待重启' >&2; sleep 1; done"
screen -dmS "$session_name" bash -c "$start" screen -dmS "$session_name" bash -c "$start"
echo "挖矿进程已在名为 $session_name 的 screen 会话中后台启动。" echo "挖矿进程已在名为 $session_name 的 screen 会话中后台启动。"
@ -178,10 +163,6 @@ function start() {
read -p "请输入自定义的 RPC 地址建议使用免费的Quicknode 或者alchemy SOL rpc(默认设置使用 https://api.mainnet-beta.solana.com): " custom_rpc read -p "请输入自定义的 RPC 地址建议使用免费的Quicknode 或者alchemy SOL rpc(默认设置使用 https://api.mainnet-beta.solana.com): " custom_rpc
RPC_URL=${custom_rpc:-https://api.mainnet-beta.solana.com} RPC_URL=${custom_rpc:-https://api.mainnet-beta.solana.com}
# 获取用户输入的线程数或使用默认值
read -p "请输入挖矿时要使用的线程数 (默认设置 1): " custom_threads
THREADS=${custom_threads:-1}
# 获取用户输入的优先费用或使用默认值 # 获取用户输入的优先费用或使用默认值
read -p "请输入交易的优先费用 (默认设置 1): " custom_priority_fee read -p "请输入交易的优先费用 (默认设置 1): " custom_priority_fee
PRIORITY_FEE=${custom_priority_fee:-1} PRIORITY_FEE=${custom_priority_fee:-1}
@ -190,15 +171,13 @@ PRIORITY_FEE=${custom_priority_fee:-1}
session_name="ore" session_name="ore"
echo "开始挖矿,会话名称为 $session_name ..." echo "开始挖矿,会话名称为 $session_name ..."
start="while true; do ore --rpc $RPC_URL --keypair ~/.config/solana/id.json --priority-fee $PRIORITY_FEE mine --threads $THREADS; echo '进程异常退出,等待重启' >&2; sleep 1; done" start="while true; do ore --rpc $RPC_URL --keypair ~/.config/solana/id.json --priority-fee $PRIORITY_FEE mine; echo '进程异常退出,等待重启' >&2; sleep 1; done"
screen -dmS "$session_name" bash -c "$start" screen -dmS "$session_name" bash -c "$start"
echo "挖矿进程已在名为 $session_name 的 screen 会话中后台启动。" echo "挖矿进程已在名为 $session_name 的 screen 会话中后台启动。"
echo "使用 'screen -r $session_name' 命令重新连接到此会话。" echo "使用 'screen -r $session_name' 命令重新连接到此会话。"
} }
# 查询奖励 # 查询奖励
function view_rewards() { function view_rewards() {
ore --rpc https://api.mainnet-beta.solana.com --keypair ~/.config/solana/id.json rewards ore --rpc https://api.mainnet-beta.solana.com --keypair ~/.config/solana/id.json rewards
@ -209,22 +188,17 @@ function claim_rewards() {
ore --rpc https://api.mainnet-beta.solana.com --keypair ~/.config/solana/id.json --priority-fee 50000 claim ore --rpc https://api.mainnet-beta.solana.com --keypair ~/.config/solana/id.json --priority-fee 50000 claim
} }
function check_logs() { function check_logs() {
screen -r ore screen -r ore
} }
function multiple() { function multiple() {
#!/bin/bash
echo "更新系统软件包..." echo "更新系统软件包..."
sudo apt update && sudo apt upgrade -y sudo apt update && sudo apt upgrade -y
echo "安装必要的工具和依赖..." echo "安装必要的工具和依赖..."
sudo apt install -y curl build-essential jq git libssl-dev pkg-config screen sudo apt install -y curl build-essential jq git libssl-dev pkg-config screen
check_and_install_dependencies check_and_install_dependencies
# 提示用户输入RPC配置地址 # 提示用户输入RPC配置地址
read -p "请输入RPC配置地址: " rpc_address read -p "请输入RPC配置地址: " rpc_address
@ -235,15 +209,11 @@ read -p "请输入你想要运行的钱包数量: " count
read -p "请输入交易的优先费用 (默认设置为 1): " priority_fee read -p "请输入交易的优先费用 (默认设置为 1): " priority_fee
priority_fee=${priority_fee:-1} priority_fee=${priority_fee:-1}
# 用户输入线程数
read -p "请输入挖矿时要使用的线程数 (默认设置为 1): " threads
threads=${threads:-1}
# 基础会话名 # 基础会话名
session_base_name="ore" session_base_name="ore"
# 启动命令模板使用变量替代rpc地址、优先费用和线程数 # 启动命令模板使用变量替代rpc地址和优先费用
start_command_template="while true; do ore --rpc $rpc_address --keypair ~/.config/solana/idX.json --priority-fee $priority_fee mine --threads $threads; echo '进程异常退出,等待重启' >&2; sleep 1; done" start_command_template="while true; do ore --rpc $rpc_address --keypair ~/.config/solana/idX.json --priority-fee $priority_fee mine; echo '进程异常退出,等待重启' >&2; sleep 1; done"
# 确保.solana目录存在 # 确保.solana目录存在
mkdir -p ~/.config/solana mkdir -p ~/.config/solana
@ -283,7 +253,6 @@ do
echo "挖矿进程已在名为 $session_name 的 screen 会话中后台启动。" echo "挖矿进程已在名为 $session_name 的 screen 会话中后台启动。"
echo "使用 'screen -r $session_name' 命令重新连接到此会话。" echo "使用 'screen -r $session_name' 命令重新连接到此会话。"
done done
} }
function check_multiple() { function check_multiple() {
@ -305,13 +274,9 @@ end=${range[1]}
for i in $(seq $start $end); do for i in $(seq $start $end); do
ore --rpc $rpc_address --keypair ~/.config/solana/id$i.json --priority-fee 1 rewards ore --rpc $rpc_address --keypair ~/.config/solana/id$i.json --priority-fee 1 rewards
done done
} }
function lonely() { function lonely() {
# 提示用户输入RPC配置地址 # 提示用户输入RPC配置地址
read -p "请输入RPC配置地址: " rpc_address read -p "请输入RPC配置地址: " rpc_address
@ -322,15 +287,11 @@ read -p "请输入你想要运行的钱包数量: " count
read -p "请输入交易的优先费用 (默认设置为 1): " priority_fee read -p "请输入交易的优先费用 (默认设置为 1): " priority_fee
priority_fee=${priority_fee:-1} priority_fee=${priority_fee:-1}
# 用户输入线程数
read -p "请输入挖矿时要使用的线程数 (默认设置为 1): " threads
threads=${threads:-1}
# 基础会话名 # 基础会话名
session_base_name="ore" session_base_name="ore"
# 启动命令模板使用变量替代rpc地址、优先费用和线程数 # 启动命令模板使用变量替代rpc地址和优先费用
start_command_template="while true; do ore --rpc $rpc_address --keypair ~/.config/solana/idX.json --priority-fee $priority_fee mine --threads $threads; echo '进程异常退出,等待重启' >&2; sleep 1; done" start_command_template="while true; do ore --rpc $rpc_address --keypair ~/.config/solana/idX.json --priority-fee $priority_fee mine; echo '进程异常退出,等待重启' >&2; sleep 1; done"
# 确保.solana目录存在 # 确保.solana目录存在
mkdir -p ~/.config/solana mkdir -p ~/.config/solana
@ -357,7 +318,7 @@ do
# 生成会话名 # 生成会话名
session_name="${session_base_name}_${i}" session_name="${session_base_name}_${i}"
# 替换启动命令中的配置文件名、RPC地址、优先费用和线程数 # 替换启动命令中的配置文件名和RPC地址
start_command=${start_command_template//idX/id${i}} start_command=${start_command_template//idX/id${i}}
# 打印开始信息 # 打印开始信息
@ -373,8 +334,6 @@ done
} }
function cliam_multiple() { function cliam_multiple() {
#!/bin/bash
# 提示用户输入RPC地址 # 提示用户输入RPC地址
echo -n "请输入RPC地址例如https://api.mainnet-beta.solana.com: " echo -n "请输入RPC地址例如https://api.mainnet-beta.solana.com: "
read rpc_address read rpc_address
@ -409,17 +368,12 @@ while true; do
for i in $(seq $start $end); do for i in $(seq $start $end); do
echo "执行钱包 $i 并且RPC $rpc_address and 以及 $priority_fee" echo "执行钱包 $i 并且RPC $rpc_address and 以及 $priority_fee"
ore --rpc $rpc_address --keypair ~/.config/solana/id$i.json --priority-fee $priority_fee claim ore --rpc $rpc_address --keypair ~/.config/solana/id$i.json --priority-fee $priority_fee claim
done done
echo "成功领取 $start to $end." echo "成功领取 $start to $end."
done done
} }
function rerun_rpc() { function rerun_rpc() {
# 提示用户输入RPC配置地址 # 提示用户输入RPC配置地址
read -p "请输入RPC配置地址: " rpc_address read -p "请输入RPC配置地址: " rpc_address
@ -427,15 +381,11 @@ read -p "请输入RPC配置地址: " rpc_address
read -p "请输入交易的优先费用 (默认设置为 1): " priority_fee read -p "请输入交易的优先费用 (默认设置为 1): " priority_fee
priority_fee=${priority_fee:-1} priority_fee=${priority_fee:-1}
# 用户输入线程数
read -p "请输入挖矿时要使用的线程数 (默认设置为 1): " threads
threads=${threads:-1}
# 基础会话名 # 基础会话名
session_base_name="ore" session_base_name="ore"
# 启动命令模板 # 启动命令模板
start_command_template="while true; do ore --rpc $rpc_address --keypair {} --priority-fee $priority_fee mine --threads $threads; echo '进程异常退出,等待重启' >&2; sleep 1; done" start_command_template="while true; do ore --rpc $rpc_address --keypair {} --priority-fee $priority_fee mine; echo '进程异常退出,等待重启' >&2; sleep 1; done"
# 自动查找所有的idn.json文件 # 自动查找所有的idn.json文件
config_files=$(find ~/.config/solana -name "id*.json") config_files=$(find ~/.config/solana -name "id*.json")
@ -460,14 +410,11 @@ do
echo "挖矿进程已在名为 $session_name 的screen会话中后台启动。" echo "挖矿进程已在名为 $session_name 的screen会话中后台启动。"
echo "使用 'screen -r $session_name' 命令重新连接到此会话。" echo "使用 'screen -r $session_name' 命令重新连接到此会话。"
done done
} }
function benchmark() { function benchmark() {
read -p "请输入挖矿时要使用的线程数 : " threads read -p "请输入挖矿时要使用的线程数 : " threads
ore benchmark --threads "$threads" ore benchmark --threads "$threads"
} }
function jito() { function jito() {
@ -488,10 +435,6 @@ echo $private_key > $config_file
read -p "请输入自定义的 RPC 地址建议使用免费的Quicknode 或者alchemy SOL rpc(默认设置使用 https://api.mainnet-beta.solana.com): " custom_rpc read -p "请输入自定义的 RPC 地址建议使用免费的Quicknode 或者alchemy SOL rpc(默认设置使用 https://api.mainnet-beta.solana.com): " custom_rpc
RPC_URL=${custom_rpc:-https://node.onekey.so/sol} RPC_URL=${custom_rpc:-https://node.onekey.so/sol}
# 获取用户输入的线程数或使用默认值
read -p "请输入挖矿时要使用的线程数 (默认设置 1): " custom_threads
THREADS=${custom_threads:-1}
# 获取用户输入的优先费用或使用默认值 # 获取用户输入的优先费用或使用默认值
read -p "请输入交易的优先费用 (默认设置 15000): " custom_priority_fee read -p "请输入交易的优先费用 (默认设置 15000): " custom_priority_fee
PRIORITY_FEE=${custom_priority_fee:-15000} PRIORITY_FEE=${custom_priority_fee:-15000}
@ -505,7 +448,6 @@ screen -dmS "$session_name" bash -c "$start"
echo "挖矿进程已在名为 $session_name 的 screen 会话中后台启动。" echo "挖矿进程已在名为 $session_name 的 screen 会话中后台启动。"
echo "使用 'screen -r $session_name' 命令重新连接到此会话。" echo "使用 'screen -r $session_name' 命令重新连接到此会话。"
} }
# 主菜单 # 主菜单