eth_sendTransaction的数据选项是什么?

时间:2018-04-20 15:18:01

标签: blockchain ethereum solidity

我正在尝试使用JSON RPC发送ERC20令牌。我是这个步骤和学习的新手。我正在使用eth_sendTransaction函数。什么是"价值"和"数据"这种情况下的选项?请帮忙

2 个答案:

答案 0 :(得分:0)

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

  

以下值已编码:

     
      
  • 收件人 - 正在向其发送交易的帐户地址。
  •   
  • - 从发件人转移到收件人的以太网数量。此金额可能为零。
  •   
  • 数据 - 可选的任意二进制数据。在合同部署期间,这是合同的字节码发送的地方。在合同上调用函数时,它指定应调用哪个函数以及使用哪些参数。对于简单的以太传输,通常会省略事务的数据部分。
  •   
  • 气体限制 - 交易可以消耗的最大气体量。
  •   
  • 天然气价格 - 发件人为每单位天然气支付的金额。
  •   
  • nonce - 称为“nonce”的序列号。序列号是每个发件人,必须与下一个可用的序列号完全匹配。
  •   
  • 签名 - 标识和验证交易发件人的数据。
  •   

答案 1 :(得分:0)

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

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

要在更高级别回答您的问题:

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

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

注意,我为Parity工作。