monero-wallet-rpc反复提示set max-reorg-depth N错误如何解决?
问题根因
reorg_depth_error报错是因为钱包默认允许的最大链重组深度(通常默认值为100)小于当前检测到的链重组深度,你之前在monero-wallet-cli中修改的配置仅对CLI客户端生效,不会同步到monero-wallet-rpc进程,因此不生效。
解决方案
- 启动wallet-rpc时直接指定重组深度参数
在你的monero-wallet-rpc启动命令中添加--max-reorg-depth 1000(数值大于报错的744即可),修改后的启动命令参考:
monero-wallet-rpc --rpc-bind-ip EXTERNAL-IP --rpc-bind-port 18082 --log-level 2 --wallet-file /root/.bitmonero/testwallet --confirm-external-bind --daemon-address EXTERNAL-IP:18081 --daemon-login user:pass --password WALLET-PASSWORD --max-reorg-depth 1000
启动后即可正常完成钱包刷新。
- 参数配置后仍报错的排查步骤
- 确认
monerod节点确实同步到主网最新高度:执行monerod RPC命令get_height对比本地块高与主网最新公开块高,避免节点同步到分叉链产生异常大额重组。 - 确认
monerod与monero-wallet-rpc使用的网络一致,避免出现节点为主网、钱包为测试网/阶段网的配置不匹配问题。 - 若上述操作都无效,说明本地链数据存在损坏,停掉
monerod进程后删除/root/.bitmonero/lmdb目录,重新同步全节点数据后再启动钱包服务即可。
注意事项
仅当你使用的是自己控制的可信全节点时,才建议设置较高的重组深度参数,不要在使用公共节点时配置过大的数值,避免被恶意节点攻击。
内容的提问来源于stack exchange,提问作者HenryTheThird
相关产品推荐
相关产品推荐

