z_W
1
主要功能是自动重启,防止睡觉的时候奖励消失
Ubuntu版本:
使用方法复制内容保存为 name.sh 其中name为你自己定义
随后把.sh放在跟node和farm官方源文件同目录,随后一样的给.sh赋予执行权限,然后只需要运行.sh即可
如同:
node的参数内容:
#!/bin/bash
# 定义中断信号的处理:当接收到 CTRL+C 时,输出信息并退出脚本
trap 'echo "CTRL+C received, exiting..."; exit' INT
# 构造命令 这里就是node主要参数设置了,可以按需修改,我这里的关闭了IPv6的公开node
CMD="./node run \
--chain gemini-3h \
--blocks-pruning 256 \
--state-pruning archive-canonical \
--rpc-methods unsafe \
--listen-on /ip4/0.0.0.0/tcp/30333 \
--dsn-listen-on /ip4/0.0.0.0/udp/30433/quic-v1 \
--dsn-listen-on /ip4/0.0.0.0/tcp/30433 \
--rpc-listen-on 0.0.0.0:5845 \
--rpc-cors all \
--base-path /root/sub \
--rpc-max-connections 9999 \
--farmer \
--name \"节点名字\""
# 日志文件路径
LOGFILE="/root/sub.log"
# 无限循环执行命令,确保在崩溃后重启
while true; do
# 使用 tee 命令同时输出日志到文件和标准输出
$CMD | tee $LOGFILE
# 可选:如果您想在重启之前等待一段时间,取消下一行的注释
# sleep 10
done
#建议输出日志,方便查询报错
farm的参数内容
#!/bin/bash
# 定义中断信号的处理:当接收到 CTRL+C 时,输出信息并退出脚本
trap 'echo "CTRL+C received, exiting..."; exit' INT
# 构造命令 这里主要是原参数,可以修改,
CMD="./farm farm --reward-address WALLET_ADDRESS path=PATH_TO_FARM,size=PLOT_SIZE"
# 无限循环执行命令,确保在崩溃后重启
while true; do
$CMD
# 可选:如果您想在重启之前等待一段时间,取消下一行的注释
# sleep 10
done
2 Likes
z_W
2
Windos版本
把内容保存为.ps1文件,随后一样的同目录运行即可
如图:
node的参数如下:
# 设置 PowerShell 的输出编码为 UTF-8
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
# 定义脚本中使用的变量
$nodeExePath = ".\node.exe" # node.exe 的路径
$logFilePath = "D:\sub\node_log.txt" # 日志文件的路径
$nodeArguments = @( # 传递给 node.exe 的参数列表
"run",
"--chain", "gemini-3h",
"--base-path", "D:\sub",
"--farmer",
"--name", "节点名字"
)
# 主循环,用于重启 node.exe 如果它崩溃或退出
while ($true) {
Write-Host "Starting node.exe process..."
# 使用 & 运算符启动 node.exe 进程,确保参数正确分割并传递
& $nodeExePath @nodeArguments | Tee-Object -FilePath $logFilePath -Append
Write-Host "node.exe process has ended."
Write-Host "Waiting for 10 seconds before restarting..."
Start-Sleep -Seconds 10
}
farm的版本为:
# 设置 PowerShell 的输出编码为 UTF-8
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
# 定义脚本中使用的变量
$farmExePath = ".\farm.exe" # farm.exe 的路径
$logFilePath = "D:\sub2\farm_log.txt" # 日志文件的路径
$farmArguments = @( # 传递给 farm.exe 的参数列表
"farm",
"--reward-address", "钱包地址",
"path=D:\sub2,size=2Gib"
)
# 主循环,用于重启 farm.exe 如果它崩溃或退出
while ($true) {
Write-Host "Starting farm.exe process..."
# 使用 & 运算符启动 farm.exe 进程,确保参数正确分割并传递
& $farmExePath @farmArguments | Tee-Object -FilePath $logFilePath -Append
Write-Host "farm.exe process has ended."
Write-Host "Waiting for 10 seconds before restarting..."
Start-Sleep -Seconds 10
}
主要,在更改参数的时候,最后一个参数不需要逗号,而除最后一个都需要逗号
如果需要帮助请留言,我会抽空回复
1 Like
z_W
3
Ubuntu更新
日志生成乱码比较多,可以将下面部分改为:
# 日志文件路径
LOGFILE="/root/sub.log"
# 无限循环执行命令,确保在崩溃后重启
while true; do
# 使用 tee 命令同时输出日志到文件和标准输出
$CMD | tee >(sed 's/\x1b\[[0-9;]*m//g' > $LOGFILE)
# 可选:如果您想在重启之前等待一段时间,取消下一行的注释
# sleep 10
done
#建议输出日志,方便查询报错
1 Like