Geth v1.10.0 发送交易报错

参考以太坊官方博客文档:https://blog.ethereum.org/2021/03/03/geth-v1-10-0/

1.问题说明

以太坊geth客户端更新至:Geth v1.10.0,再次发送交易时,报错如下:

err="only replay-protected (EIP-155) transactions allowed over RPC"
2.问题原因

Geth v1.10.0版本更改了通过JSON-RPC接受事务的方式,并允许禁止不具有EIP-155规定(即未提供chainId)的事务。
此版本为禁止未受保护的交易奠定了基础,但是官方目前将继续允许不受保护的交易,直到下一个主要版本。
该标志–require-tx-replay-protection已添加,默认情况下设置为false。

3.问题解决
  • 1、临时方案:在其节点上运行此参数:–rpc.allow-unprotected-txs 即以下命令:
geth --rpcapi "db,eth,net,web3,personal,admin,miner" --rpc --rpcaddr "0.0.0.0" --cache 2048 --maxpeers 30 --allow-insecure-unlock --rpc.allow-unprotected-txs

注:此方案是因为以太坊开发人员意识到发布不受保护的交易的人员/工具不可能一夜之间发生变化,因此Geth v1.10.0支持恢复到旧的行为,通过接受非EIP155交易可使用参数:–rpc.allow-unprotected-txs

但请注意,这是一个临时机制,v1.10.0后的版本将删除此方案。

  • 2、永久解决

将chain ID添加到事务中,以免交易在其他链上被重播

注意:使用web 3j的签名包需要使用最新版本

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

杰哥的技术杂货铺

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值