兼容RSK的ckpool挖矿池节点连接报错及mnr_getWork方法问题求助
排查RSK节点与ckpool连接时的mnr_getwork方法不存在问题
核心原因
RSK节点默认未启用挖矿相关的RPC模块,且你执行curl时存在方法名大小写错误,导致mnr_getwork方法无法被识别。
解决步骤
1. 修正RSK节点配置,启用挖矿RPC模块
Ubuntu包安装的RSK节点,配置文件位于/etc/rsk/<network>/config.conf(<network>替换为mainnet/testnet/regtest),需修改以下配置项:
- 确保
rpc.modules包含mnr:1.0模块:rpc { modules = [ "mnr:1.0", "eth:1.0", "net:1.0", "web3:1.0" ] host = "127.0.0.1" # 允许本地访问 httpPort = 4444 # 与你curl使用的端口一致 } - 开启挖矿功能:
mining { enabled = true minerAddress = "你的RSK收款地址" # 填写接收挖矿奖励的地址 }
2. 重启RSK节点使配置生效
执行系统命令重启服务:
sudo systemctl restart rskd-<network>
验证节点运行状态:
sudo systemctl status rskd-<network>
3. 用正确的RPC方法名验证可用性
你之前的curl命令中方法名写为mnr_getwork(小写w),但RSK的标准方法名是驼峰式的mnr_getWork,执行正确的命令:
curl -X POST --data '{"jsonrpc":"2.0","method":"mnr_getWork","params":[],"id":1}' http://localhost:4444
如果返回包含挖矿任务数据的JSON响应,说明方法已正常启用。
4. 检查ckpool配置匹配
- 确认ckpool配置中RSK节点的RPC地址、端口与RSK配置完全一致(
http://localhost:4444) - 确保ckpool指定的挖矿方法为
mnr_getWork,避免拼写错误 - 排查是否误将ckpool指向了BTC节点的RPC端口(默认8332),导致混淆
5. 处理RPC认证(若有设置)
如果RSK配置中开启了rpc.auth,需在curl和ckpool配置中添加认证信息:
示例curl命令:
curl -u 用户名:密码 -X POST --data '{"jsonrpc":"2.0","method":"mnr_getWork","params":[],"id":1}' http://localhost:4444
同时在ckpool配置中同步添加对应的用户名和密码。
内容的提问来源于stack exchange,提问作者Cergei
相关产品推荐
相关产品推荐

