我想在交易上发送消息。这是我的代码:
_data = web3.toHex('xxxx');
instance.function_name(param1, param2, param3, param4, {value: web3.toWei(_price, 'ether'), from: web3.eth.accounts[0], data:_data}).then(...);
事务处理成功,但输入数据消息不是etherscan.io
中的_data
值
任何人都可以帮助我吗?谢谢。
答案 0 :(得分:0)
在部署合同或使用常规data
或sendTransaction
方法时,将使用事务对象中的sendRawTransaction
字段。如果您使用的是合同实例,则会忽略data
字段。
对象 - (可选)(上一个)最后一个参数可以是事务对象,有关详细信息,请参阅web3.eth.sendTransaction参数1。 注意:不会考虑数据和属性。
如果您想手动发送数据,请使用sendTransaction
。
Etherscan中显示的信息是来自签名事务的解码数据,描述了所进行的函数调用。它不是免费的用户数据(如果您正在尝试插入的话)。数据的前32位是函数签名,之后的每个256位块都是参数。
有关更深入的信息,请参阅this source。