北京时间 2021年 8月 27 日 20 点 50 分左右(区块高度 13107518),一个共识漏洞(利用了 geth v1.10.8 中修复的共识漏洞)袭击了以太坊主网,以太坊因遭到攻击而导致分叉。
攻击的根本原因在于 Geth 旧版本在处理预编译合约的调用时并未考虑异常值的处理,导致攻击者利用该漏洞实施了重叠拷贝,影响了返回值,最终导致分叉的出现。
由于 Geth 是 BSC、HECO、Polygon 等公链的基础,因此该漏洞影响范围甚广。目前现在这个漏洞可以在其他网络上重演,在问题被解决之前,尽量不要做任何有经济意义的交易。
各公链也先后推出了升级和补丁,所以我们也应该根据各公链github上面发布的漏洞修复版本尽早升级,以确保基础设施的安全。
但是在我在升级HECO及BSC主网时,出现了如下报错:
报错1:
报错内容:
the method personal_listAccounts does not exist/is not available
解决方法:将 personal 添到–rpcapi的内容中,如
--rpcapi eth,web3,net,personal
报错2:
报错内容:
the method miner_start does not exist/is not available
或
the method miner_setEtherbase does not exist/is not available
解决方法:将 miner 添到–rpcapi的内容中,如
--rpcapi eth,web3,net,miner
还有类似以下的报错:
the method parity_netPeers does not exist/is not available
以上接口的目的均是在请求挖矿,针对以上几种日志报错,原因为调用某个接口时,不存在此接口,没有启动挖矿。
- 如果本人有需求需要调用节点的以上接口,需要确认以下两个问题:
- racapi中是否添加了相关功能接口的协议
- 节点是否已经同步完成,先进行同步,再进行挖矿
- 如果本人的节点仅为同步节点,不需要调用挖矿接口,那么我猜测你向互联网开放了你的节点,有人可能在利用你的节点进行挖矿,所以请永远不要向所有人放开你的RPC接口访问权限。
当然,可能也有情况,我们必须向全网放通我们节点的rpc访问权限,如果哪位大佬有更好的解决方法,也欢迎留言讨论。
以上,就是今天分享的全部内容了。
希望大家通过以上方式可以解决自己的实际需求,解决自己目前所遇到的问题。
如果在部署过程中有任何疑问,可以扫描下面的二维码,添加我的个人微信,备注:地区-职业方向-昵称,欢迎来撩,加入区块链技术交流群,与更多的区块链技术大佬学习交流。
原创不易,码字不易。 觉得这篇文章对你有点用的话,麻烦你为本文点个赞,留言或转发一下,因为这将是我输出更多优质文章的动力,感谢!
|