【问题标题】:What is the data option of eth_sendTransaction?eth_sendTransaction 的数据选项是什么?
【发布时间】:2018-04-20 15:18:01
【问题描述】:

我正在尝试使用 JSON RPC 发送 ERC20 令牌。我在这一步和学习中很新。我正在使用 eth_sendTransaction 函数。在这种情况下,什么是“价值”和“数据”选项?请帮忙

【问题讨论】:

标签: blockchain ethereum solidity


【解决方案1】:

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

以下值被编码:

  • recipient – 交易发送到的帐户地址。
  • value – 从发送者转移到接收者的以太币数量。此金额可能为零。
  • data – 可选的任意二进制数据。在合约部署期间,这是发送合约字节码的地方。在合约上调用函数时,它指定应该调用哪个函数以及使用什么参数。对于简单的以太币转移,交易的数据部分通常会被省略。
  • gas limit——交易可以消耗的最大gas量。
  • gas 价格 – 发送者将为每单位 gas 支付的金额。
  • nonce – 称为“nonce”的序列号。序列号是每个发送者的,并且必须与下一个可用的序列号完全匹配。
  • 签名 - 识别和验证交易发送者的数据。

【讨论】:

  • 在哪里知道/设置以太坊交易或 erc20 代币交易?
  • 这个问题无关。请单独询问(ethereum.stackexchange.com)。
【解决方案2】:

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

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

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

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

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

注意,我为 Parity 工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-12-31
    • 2019-04-26
    • 2012-08-20
    • 1970-01-01
    • 1970-01-01
    • 2018-12-09
    • 2013-08-26
    相关资源
    最近更新 更多