Files
mint_ore/claim.sh
2024-04-07 22:14:15 +08:00

54 lines
1.7 KiB
Bash

#!/bin/bash
# 检查参数数量是否正确
if [ "$#" -ne 1 ]; then
echo "Usage: $0 <monitor_value>"
exit 1
fi
# 从参数中获取密钥文件和监控数值
monitor_value=${1:-0.1}
#export http_proxy="http://10.3.255.132:51837"
#export https_proxy="http://10.3.255.132:51837"
# 定义RPC URL数组
rpcurls=(
"https://solana-mainnet.core.chainstack.com/b366b2ab269b22f4b6dd521c59079618"
"https://prettiest-multi-scion.solana-mainnet.quiknode.pro/879eb32f3cd556cfff80973ff6a51b9e8b7a81ec/"
"https://silent-tiniest-diamond.solana-mainnet.quiknode.pro/fcef276a3d99aa044e9d7d7193aced24563de630/"
"https://api.mainnet-beta.solana.com"
)
toaddress="DefJYX8sJmaLBQGyvWPS3rRgVbJRf9kvKEJ19uJpJQEf"
echo "toaddress=" $toaddress
files=$(find . -maxdepth 2 -type f -name "*.json")
for keyfile in $files; do
# 随机选择一个RPC URL
index=$((RANDOM % ${#rpcurls[@]}))
rpc=${rpcurls[$index]}
echo "选中rpc=$rpc"
echo $keyfile
rewards=$(ore --rpc $rpc --keypair "$keyfile" rewards | sed 's/ ORE//')
if [ -z "$rewards" ]; then
echo "Failed to get rewards. Exiting..."
exit 1
fi
#echo "$keyfile Current rewards: $rewards ORE"
if (( $(echo "$rewards > $monitor_value" | bc -l) )); then
echo "claim reward $keyfile"
echo "================================================"
echo "Rewards ($rewards) is greater than monitor value ($monitor_value). Claiming rewards..."
./ore --rpc $rpc --keypair $keyfile --priority-fee 10000 claim $rewards $toaddress
else
echo "Rewards ($rewards) is less than or equal to monitor value ($monitor_value). No action needed."
fi
done
# 脚本结束
#echo "claim.sh script execution completed."