日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > Android >内容正文

Android

android web3j 代币查询_Android通过web3j以太坊智能合约交互

發(fā)布時間:2023/12/10 Android 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android web3j 代币查询_Android通过web3j以太坊智能合约交互 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

如果要下載整個以太坊區(qū)塊鏈并保持本地節(jié)點(diǎn)同步。當(dāng)區(qū)塊鏈占用了我計(jì)算機(jī)上超過100GB的空間。這在臺式計(jì)算機(jī)上可能有意義,但在移動設(shè)備上則不太合理。

解決此限制的一種方法是使用像Infura這樣的服務(wù)。Infura允許你連接到遠(yuǎn)程以太坊節(jié)點(diǎn)并執(zhí)行交易,而無需擔(dān)心維護(hù)和同步本地節(jié)點(diǎn)。

為了能夠使用本機(jī)Java代碼與智能合約進(jìn)行交易,我們使用一個名為Web3j的庫。Web3j為你提供生成智能合約java封裝包的實(shí)用程序,以及通過HTTP和IPC完整實(shí)現(xiàn)以太坊的JSON-RPC客戶端API。它提供了更多功能,但剛說的這些對這個“Android Ethereum hello world”示例來說最重要的功能。

我想要與之互動的示例智能合約是一個Greeter。它在區(qū)塊鏈上存儲可以讀取或更新的問候消息。它看起來像這樣:

contract greeter is mortal {

/* define variable greeting of the type string */

string greeting;

/* this runs when the contract is executed */

function greeter(string _greeting) public {

greeting = _greeting;

}

/* change greeting */

function changeGreeting(string _greeting) public {

greeting = _greeting;

}

/* main function */

function greet() constant returns (string) {

return greeting;

}

}

為了能夠創(chuàng)建封裝包,我們首先要編譯這個智能合約:

solc greeter.sol --bin --abi --optimize -o /

要生成運(yùn)行的封裝包:

web3j solidity generate /path/to/.bin /path/to/.abi -o /path/to/src/main/java -p com.your.organisation.name

Java部分

首先,我們需要獲得以太坊區(qū)塊鏈交互的Web3實(shí)例。它看起來像這樣:

InfuraHttpService infuraHttpService = new InfuraHttpService(url);

Web3j web3j = Web3jFactory.build("https://ropsten.infura.io/YOUR_API_KEY");

現(xiàn)在我們可以讀取合約幾乎是即時的。

Greeter greeter = Greeter.load(greeterContractAddress, web3j, credentials, gasPrice, gasLimit);

Future greeting = greeter.greet();

Utf8String greetingUtf8 = greeting.get();

String result = greetingUtf8.getValue();

但交易不是即時的,可能需要幾分鐘才能得到驗(yàn)證。

Greeter greeter = Greeter.load(greeterContractAddress, web3j, credentials, gasPrice, gasLimit);

TransactionReceipt transactionReceipt = greeter.changeGreeting(new Utf8String(greetingToWrite)).get(timeout);

String result = "Successful transaction. Gas used: " + transactionReceipt.getGasUsed();

如果希望快速進(jìn)行web3j、java、以太坊開發(fā),那請看我們精心打造的教程:

java以太坊開發(fā)教程,主要是針對java和android程序員進(jìn)行區(qū)塊鏈以太坊開發(fā)的web3j詳解。

其他以太坊教程如下:

以太坊入門教程,主要介紹智能合約與dapp應(yīng)用開發(fā),適合入門。

以太坊開發(fā)進(jìn)階教程,主要是介紹使用node.js、mongodb、區(qū)塊鏈、ipfs實(shí)現(xiàn)去中心化電商DApp實(shí)戰(zhàn),適合進(jìn)階。

python以太坊,主要是針對python工程師使用web3.py進(jìn)行區(qū)塊鏈以太坊開發(fā)的詳解。

php以太坊,主要是介紹使用php進(jìn)行智能合約開發(fā)交互,進(jìn)行賬號創(chuàng)建、交易、轉(zhuǎn)賬、代幣開發(fā)以及過濾器和事件等內(nèi)容。

C#以太坊,主要講解如何使用C#開發(fā)基于.Net的以太坊應(yīng)用,包括賬戶管理、狀態(tài)與交易、智能合約開發(fā)與交互、過濾器和事件等。

匯智網(wǎng)原創(chuàng)翻譯,轉(zhuǎn)載請標(biāo)明出處。這里是原文

總結(jié)

以上是生活随笔為你收集整理的android web3j 代币查询_Android通过web3j以太坊智能合约交互的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。