国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Web3.js 0.20.x API 中文版翻譯

SexySix / 795人閱讀

摘要:使用回調由于這套被設計來與本地的結點交互,所有函數默認使用同步的的請求。批量請求可以允許將多個請求放入隊列,并一次執行。這里的批量請求主要目的是用來保證請求的串行執行。列表本教程由登鏈學院翻譯,由深入淺出區塊鏈發布。

本文首發于深入淺出區塊鏈社區
原文鏈接:Web3.js 0.20.x API 中文版翻譯原文已更新,請讀者前往原文閱讀

文檔原始鏈接為:https://web3.learnblockchain.cn/0.2x.x/,歡迎大家前往查閱,本文只是節選開頭部分的介紹及API列表索引,以下為翻譯正文:

為了開發一個基于以太坊的去中心化應用程序,可以使用web3.js庫提供的web3對象, 在底層實現上,web3通過RPC調用與本地節點通信, web3.js可以與任何暴露了RPC接口的以太坊節點連接。

web3 包含下面幾個對象:

web3.eth 用來與以太坊區塊鏈及合約的交互

web3.shh 用來與Whisper協議相關交互

web3.net 用來獲取網絡相關信息

web3 包含一些工具

web3使用示例:

官方示例

使用web3.js API在頁面中轉賬

多個API 使用Demo

Dapp 模式

想要學習去中心化應用(DAPP)開發,這門課程不容錯過區塊鏈全棧-以太坊DAPP開發實戰

引入web3

首先你需要將web3引入到應用工程中,可以通過如下幾個方法:

npm: npm install web3

bower: bower install web3

meteor: meteor add ethereum:web3

vanilla: link the dist./web3.min.js

然后你需要創建一個web3的實例,設置一個provider。為了保證你不會覆蓋一個已有的provider(Mist瀏覽器或安裝了MetaMak的瀏覽器會提供Provider),需要先檢查是否web3實例已存在,示例代碼如下:

if (typeof web3 !== "undefined") {
  web3 = new Web3(web3.currentProvider);
} else {
  // set the provider you want from Web3.providers
  web3 = new Web3(new Web3.providers.HttpProvider("http://localhost:8545"));
}

成功引入后,你現在可以使用web3對象的API了。

使用回調

由于這套API被設計來與本地的RPC結點交互,所有函數默認使用同步的HTTP的請求。

如果你想發起一個異步的請求。大多數函數允許傳一個跟在參數列表后的可選的回調函數來支持異步,回調函數支持Error-first回調的風格。

web3.eth.getBlock(48, function(error, result){
    if(!error)
        console.log(JSON.stringify(result));
    else
        console.error(error);
})
批量請求

可以允許將多個請求放入隊列,并一次執行。

注意:批量請求并不會更快,在某些情況下,同時發起多個異步請求,也許更快。這里的批量請求主要目的是用來保證請求的串行執行。

var batch = web3.createBatch();
batch.add(https://web3.learnblockchain.cn/0.2x.x/web3.eth.getBalance.request("0x0000000000000000000000000000000000000000", "latest", callback));
batch.add(https://web3.learnblockchain.cn/0.2x.x/web3.eth.contract(abi).at(address).balance.request(address, callback2));
batch.execute();
web3.js中的大數處理

如果是一個數據類型的返回結果,通常會得到一個BigNumber對象,因為Javascript不能正確的處理BigNumber,看看下面的例子:

"101010100324325345346456456456456456456"
// "101010100324325345346456456456456456456"
101010100324325345346456456456456456456
// 1.0101010032432535e+38

所以web3.js依賴BigNumber Library,且已經自動引入。

var balance = new BigNumber("131242344353464564564574574567456");
// or var balance = web3.eth.getBalance(someAddress);

balance.plus(21).toString(10); // toString(10) converts it to a number string
// "131242344353464564564574574567477"

下一個例子中,我們會看到,如果有20位以上的浮點值,仍會導致出錯。所以推薦盡量讓帳戶余額以wei為單位,僅僅在需要向用戶展示時,才轉換為其它單位。

var balance = new BigNumber("13124.234435346456466666457455567456");

balance.plus(21).toString(10); // toString(10) converts it to a number string, but can only show upto 20 digits
// "13145.23443534645646666646" // your number will be truncated after the 20th digit
Web3.js API列表 web3

web3.version.api

web3.version.node

web3.version.network

web3.version.ethereum

web3.version.whisper

web3.isConnected

web3.setProvider

web3.currentProvider

web3.reset

web3.sha3

web3.toHex

web3.toAscii

web3.fromAscii

web3.toDecimal

web3.fromDecimal

web3.fromWei

web3.toWei

web3.toBigNumber

web3.isAddress

web3.net

web3.net.listening

web3.net.peerCount

web3.eth

web3.eth.defaultAccount

web3.eth.defaultBlock

web3.eth.syncing

web3.eth.isSyncing

web3.eth.coinbase

web3.eth.mining

web3.eth.hashrate

web3.eth.gasPrice

web3.eth.accounts

web3.eth.blockNumber

web3.eth.register

web3.eth.unRegister

web3.eth.getBalance

web3.eth.getStorageAt

web3.eth.getCode

web3.eth.getBlock

web3.eth.getBlockTransactionCount

web3.eth.getUncle

web3.eth.getTransaction

web3.eth.getTransactionFromBlock

web3.eth.getTransactionReceipt

web3.eth.getTransactionCount

web3.eth.sendTransaction

web3.eth.sendRawTransaction

web3.eth.sign

web3.eth.call

web3.eth.estimateGas

web3.eth.filter

web3.eth.contract

Contract Methods

Contract Events

Contract allEvents

web3.eth.getCompilers

web3.eth.compile.solidity

web3.eth.compile.lll

web3.eth.compile.serpent

web3.eth.namereg

web3.eth.sendIBANTransaction

web3.eth.iban

web3.eth.iban.fromAddress

web3.eth.iban.fromBban

web3.eth.iban.createIndirect

web3.eth.iban.isValid

web3.eth.iban.isDirect

web3.eth.iban.isIndirect

web3.eth.iban.checksum

web3.eth.iban.institution

web3.eth.iban.client

web3.eth.iban.address

web3.eth.iban.toString

web3.db

web3.db.putString

web3.db.getString

web3.db.putHex

web3.db.getHex

web3.shh

web3.shh.post

web3.shh.newIdentity

web3.shh.hasIdentity

web3.shh.newGroup

web3.shh.addToGroup

web3.shh.filter

本教程由登鏈學院翻譯,由深入淺出區塊鏈發布。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/24286.html

相關文章

  • Web3.js 0.20.x API 文版翻譯

    摘要:使用回調由于這套被設計來與本地的結點交互,所有函數默認使用同步的的請求。批量請求可以允許將多個請求放入隊列,并一次執行。這里的批量請求主要目的是用來保證請求的串行執行。列表本教程由登鏈學院翻譯,由深入淺出區塊鏈發布。 本文首發于深入淺出區塊鏈社區原文鏈接:Web3.js 0.20.x API 中文版翻譯原文已更新,請讀者前往原文閱讀 文檔原始鏈接為:https://web3.learn...

    jsliang 評論0 收藏0
  • 以太坊web3.js文檔翻譯及說明

    摘要:這些天,為了錄制以太坊開發實戰課程,我準備把文檔全部翻譯一下并做適當的補充,目前版本已經翻譯完成,歡迎大家前往查閱。 這些天,為了錄制以太坊DAPP開發實戰課程,我準備把web3文檔全部翻譯一下(并做適當的補充),目前web3.js 0.20.x 版本 已經翻譯完成,歡迎大家前往查閱。 這里還幾個實用DEMO,供大家參考: 使用web3.js API在頁面中轉賬 web3.js 0....

    趙春朋 評論0 收藏0
  • 以太坊web3.js文檔翻譯及說明

    摘要:這些天,為了錄制以太坊開發實戰課程,我準備把文檔全部翻譯一下并做適當的補充,目前版本已經翻譯完成,歡迎大家前往查閱。 這些天,為了錄制以太坊DAPP開發實戰課程,我準備把web3文檔全部翻譯一下(并做適當的補充),目前web3.js 0.20.x 版本 已經翻譯完成,歡迎大家前往查閱。 這里還幾個實用DEMO,供大家參考: 使用web3.js API在頁面中轉賬 web3.js 0....

    makeFoxPlay 評論0 收藏0
  • 如何使用Web3.js API 在頁面中進行轉賬

    摘要:本文首發于深入淺出區塊鏈社區原文鏈接如何使用在頁面中進行轉賬原文已更新,請讀者前往原文閱讀本文介紹如何使用在頁面中進行轉賬,是我翻譯的文檔中文版及區塊鏈全棧以太坊開發實戰中的文章說明。 本文首發于深入淺出區塊鏈社區原文鏈接:如何使用Web3.js API 在頁面中進行轉賬原文已更新,請讀者前往原文閱讀 本文介紹如何使用Web3.js API 在頁面中進行轉賬,是我翻譯的文檔Web3.j...

    xiaolinbang 評論0 收藏0
  • 如何使用Web3.js API 在頁面中進行轉賬

    摘要:本文首發于深入淺出區塊鏈社區原文鏈接如何使用在頁面中進行轉賬原文已更新,請讀者前往原文閱讀本文介紹如何使用在頁面中進行轉賬,是我翻譯的文檔中文版及區塊鏈全棧以太坊開發實戰中的文章說明。 本文首發于深入淺出區塊鏈社區原文鏈接:如何使用Web3.js API 在頁面中進行轉賬原文已更新,請讀者前往原文閱讀 本文介紹如何使用Web3.js API 在頁面中進行轉賬,是我翻譯的文檔Web3.j...

    zhisheng 評論0 收藏0

發表評論

0條評論

SexySix

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<