乐趣区

关于区块链:不要向全网放通你的ETH系列节点的rpc接口访问权限

北京工夫 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

以上接口的目标均是在申请挖矿,针对以上几种日志报错,起因为调用某个接口时,不存在此接口,没有启动挖矿。

  1. 如果自己有需要须要调用节点的以上接口,须要确认以下两个问题:
  2. racapi 中是否增加了相干性能接口的协定
  3. 节点是否曾经同步实现,先进行同步,再进行挖矿
  4. 如果自己的节点仅为同步节点,不须要调用挖矿接口,那么我猜想你向互联网凋谢了你的节点,有人可能在利用你的节点进行挖矿,所以请永远不要向所有人放开你的 RPC 接口拜访权限。

当然,可能也有状况,咱们必须向全网放通咱们节点的 rpc 拜访权限,如果哪位大佬有更好的解决办法,也欢送留言探讨。


以上,就是明天分享的全部内容了。

心愿大家通过以上形式能够解决本人的理论需要,解决本人目前所遇到的问题。

如果在部署过程中有任何疑难,能够扫描上面的二维码,增加我的集体微信,备注:地区 - 职业方向 - 昵称,欢送来撩,退出区块链技术交换群,与更多的区块链技术大佬学习交换。

原创不易,码字不易。感觉这篇文章对你有点用的话,麻烦你为本文点个赞,留言或转发一下,因为这将是我输入更多优质文章的能源,感激!

退出移动版