今天就跟大家聊聊有關如何進行以太坊web3.js文檔翻譯及說明,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據(jù)這篇文章可以有所收獲。
創(chuàng)新互聯(lián)公司專注于中大型企業(yè)的成都網(wǎng)站建設、網(wǎng)站建設和網(wǎng)站改版、網(wǎng)站營銷服務,追求商業(yè)策劃與數(shù)據(jù)分析、創(chuàng)意藝術與技術開發(fā)的融合,累計客戶1000+,服務滿意度達97%。幫助廣大客戶順利對接上互聯(lián)網(wǎng)浪潮,準確優(yōu)選出符合自己需要的互聯(lián)網(wǎng)運用,我們將一直專注品牌網(wǎng)站建設和互聯(lián)網(wǎng)程序開發(fā),在前進的路上,與客戶一起成長!
Web3是一套和以太坊節(jié)點進行通信的API,如果我們需要基于以太坊來開發(fā)去中心化應用,則web3是必須要了解的內容,例如需要通過Web3來獲取節(jié)點狀態(tài),獲取賬號信息,調用合約、監(jiān)聽合約事件等等。
注: 智能合約是運行在節(jié)點提供的虛擬機上,因此調用智能合約也需要像節(jié)點發(fā)送請求。
Web3其實是對節(jié)點暴露出來的JSON-RPC接口進行了封裝,它有多個語言版本的實現(xiàn):
JavaScript Web3.js
Python Web3.py
Haskell hs-web3
Java web3j
Scala web3j-scala
Purescript purescript-web3
PHP web3.php
PHP ethereum-php
web3.js 有兩個不兼容的版本:0.20.x 及 1.0beta,1.0對0.20版本做了重構,并且引入了Promise來簡化異步編程,避免層層的回調嵌套。
做一個對比,下面使用兩個版本來獲取當前塊號:
// 0.20 版本 web3.eth.getBlockNumber(function callback(err, value) { console.log("BlockNumber:" + value) });
// 1.0 版本 web3.eth.getBlockNumber().then(console.log);
在來看看獲取賬號余額:
// 0.20 版本 web3.eth.getAccounts(function callback1(error, result){ web3.eth.getBalance(result[0], function callback2(error, value) { console.log("value" + value); }); })
// 1.0 版本 web3.eth.getAccounts() .then((res) => web3.eth.getBalance(res[0])) .then((value) => console.log(value) );
使用1.0版本代碼上要比0.2版本簡潔一些,有一點需要特別注意,web3的多數(shù)接口都是異步調用形式,通常最后一個參數(shù)是回調函數(shù)。
看完上述內容,你們對如何進行以太坊web3.js文檔翻譯及說明有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。