如何在以太坊中的事务上发送消息

时间:2018-03-23 09:28:36

标签: ethereum

我想在交易上发送消息。这是我的代码:

_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

任何人都可以帮助我吗?谢谢。

1 个答案:

答案 0 :(得分:0)

在部署合同或使用常规datasendTransaction方法时,将使用事务对象中的sendRawTransaction字段。如果您使用的是合同实例,则会忽略data字段。

来自Solidity docs

  

对象 - (可选)(上一个)最后一个参数可以是事务对象,有关详细信息,请参阅web3.eth.sendTransaction参数1。 注意:不会考虑数据和属性。

如果您想手动发送数据,请使用sendTransaction

Etherscan中显示的信息是来自签名事务的解码数据,描述了所进行的函数调用。它不是免费的用户数据(如果您正在尝试插入的话)。数据的前32位是函数签名,之后的每个256位块都是参数。

有关更深入的信息,请参阅this source