eth_sendTransaction和eth_sendRawTransaction有什么区别?
发布于 1 年前 作者 roy20000 6241 次浏览 来自 以太坊

发起一笔交易有两种方法, 1:调用eth_sendTransaction方法发起一笔交易 2:调用eth_sendRawTransaction发起一笔交易

问题一: 既然两个都可以发起交易,搞一个不就行了。为啥要搞两个东西?

问题二: 调用eth_sendTransaction发起交易,貌似不用传gas、gasPrice、nonce等值也能成功发起交易,而使用eth_sendRawTransaction的时候,为什么一定要传gas、gasPrice、nonce等值才能发起交易。

问题三: 他们两个还有其他的区别吗? 他们分别适用于什么场景?

2 回复

有一个是离线交易用

  • eth_sendTransaction

是你可以指定从某个账户发起,而且这个账户一定要在你本地的geth的keystore里保存有,同时你也可以自定义其它参数,这个在线离线都可以用。核心是你通过geth托管私钥

  • eth_sendRawTransaction

是你可以把你在其它地方构造好的交易(hex形式)通过这个接口来广播。这个可以理解只是在线帮你广播交易。

回到顶部