天天看點

是否可以用以太坊交易EthSendTransaction發送任意文本?

是的。文本應該是ASCII編碼的,并在交易的資料中以十六進制字元串的形式提供。示例如下:

RawTransaction.createTransaction(
        <nonce>, GAS_PRICE, GAS_LIMIT, "0x<address>", <amount>, "0x<hex encoded text>");

byte[] signedMessage = TransactionEncoder.signMessage(rawTransaction, ALICE);
String hexValue = Numeric.toHexString(signedMessage);

EthSendTransaction ethSendTransaction =
        web3j.ethSendRawTransaction(hexValue).send();
String transactionHash = ethSendTransaction.getTransactionHash();
...           

注:請確定你增加了交易的氣體限制,以允許存儲文本。

下面的

stackexchange文章

對于了解這個問題很有用。

原文《Java以太坊類庫web3j官網中文翻譯》中的:

http://cw.hubwiz.com/card/c/web3j/1/12/6/

另外推薦幾個很受歡迎全網稀缺的互動教程:

  • web3j ,主要是針對java和android程式員圍繞web3j庫進行區塊鍊以太坊開發的講解。
  • python以太坊 ,主要是針對python圍繞web3.py進行區塊鍊以太坊應用開發的講解。
  • php以太坊 ,主要是介紹使用php進行智能合約開發互動,進行賬号建立、交易、轉賬、代币開發以及過濾器和事件等内容。
  • 以太坊開發 ,主要是介紹使用node.js、mongodb、區塊鍊、ipfs實作去中心化電商DApp實戰,适合進階。
  • 以太坊教程 ,主要介紹智能合約與dapp應用開發,适合入門。