eth_sendTransaction的数据选项是什么?



我正在尝试使用JSON RPC发送ERC20令牌。我对这一步和学习很陌生。我正在使用eth_sendTransaction功能。在这种情况下,什么是"值"和"数据"选项?请帮忙

从 https://programtheblockchain.com/posts/2017/12/29/how-ethereum-transactions-work/:

对以下值进行编码:

  • 收件人– 交易记录发送到的帐户地址。
  • value– 要从发件人转移到收件人的以太币数量。此金额可能为零。
  • data– 可选的任意二进制数据。在合约部署期间,这是发送合约字节码的位置。在合约上调用函数时,这指定了应该调用哪个函数以及使用什么参数。对于以太币的简单传输,通常省略交易的数据部分。
  • 气体限制– 交易可以消耗的最大气体量。
  • 天然气价格– 发件人将为每单位天然气支付的金额。
  • nonce——称为"nonce"的序列号。序列号是每个发件人的,并且必须与下一个可用序列号完全匹配。
  • 签名– 标识和验证交易发送者的数据。

如果要通过 RPC 调用发送 ERC20 代币,则需要使用正确的参数调用代币合约的transfer函数。

由于ERC20不是一个定义明确的标准,而是一个接口,我不建议盲目地这样做,你必须首先研究合约源代码以确保它是可能的。

要在更高层次上回答您的问题:

  • value是以太币转移的数量(以Wei为单位),应该0,因为您不想转移任何ETH。
  • data是ERC20transfer的十六进制编码执行,例如,调用的方法名称及其参数。

我强烈建议使用支持 ERC20 代币的钱包,例如 MyCrypto 或 Parity,但这可能不是您所要求的:)

请注意,我为Parity工作。

最新更新