54 lines
1.7 KiB
Bash
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."
|