我正在尝试使用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工作。