Java 在Web3j以太坊事务中设置十六进制编码的数据字段

Java 在Web3j以太坊事务中设置十六进制编码的数据字段,java,ethereum,web3-java,Java,Ethereum,Web3 Java,我正在编写一个Web3j应用程序,我想执行资金转账,并在交易的十六进制编码数据字段中输入一个短文本字符串。我成功地转移了资金,但似乎没有一个参数来放置这些额外的数据。我该怎么做 一旦这样做了,我相信我可以通过看 txObject.getInput(); (当然,必须正确解码)是否正确?您可以使用事务的“数据”字段来输入短文本。你必须对文本进行十六进制编码。例如,如果要写入“ABC”,则需要发送“0x414243”。 不过这会让你消耗更多的汽油 public EthSendTransaction

我正在编写一个Web3j应用程序,我想执行资金转账,并在交易的十六进制编码数据字段中输入一个短文本字符串。我成功地转移了资金,但似乎没有一个参数来放置这些额外的数据。我该怎么做

一旦这样做了,我相信我可以通过看

txObject.getInput();
(当然,必须正确解码)是否正确?

您可以使用事务的“数据”字段来输入短文本。你必须对文本进行十六进制编码。例如,如果要写入“ABC”,则需要发送“0x414243”。 不过这会让你消耗更多的汽油

public EthSendTransaction sendTransaction(
        BigInteger gasPrice, BigInteger gasLimit, String to,
        String data, BigInteger value)
        throws IOException {

    Transaction transaction = new Transaction(
            getFromAddress(), null, gasPrice, gasLimit, to, value, data);

    return web3j.ethSendTransaction(transaction)
            .send();
}