【每日知識】Web3 API 實踐
首先,推薦一個講述web3&solidity的部落格:http://me.tryblockchain.org/index.html;我認為裡面的文章寫的還不錯,官方文件翻譯的也很到位。有空的同學可以去看看裡面的文章。
部落格中《web3.js編譯Solidity,釋出,呼叫全部流程(手把手教程)》一文開頭寫到要安裝web3.js,對於已經安裝truffle框架的童鞋來說,就不需要安裝了,因為truffle框架裡已經內建的web3.js。同時,我們要使用web3的時候,就必須到truffle的開發者模式中使用。
要進入truffle開發者模式,首先要cd到合約資料夾。開啟命令列,輸入:cd F:\soliditycode\demo01;再輸入:truffle develop;如圖:
進入開發者模式後,會顯示你的私鏈地址:http://127.0.0.1:9545/;還會給出10個賬戶以及每個賬戶的私鑰。
檢視web3的版本資訊命令
輸入命令:web3.version就可以看到web3的版本資訊;而我們繼續輸入web3.version.api , web3.version.node , web3.version.network , web3.version.ethereum , web3.version.whisper就可以別檢視他們的版本資訊,如圖:
單位轉換命令
單位轉換命令有兩種,一種是把其他單位轉成‘位‘,還一種就是把‘位’轉成其他單位。輸入命令:web3.toWei(10,'ether')和web3.fromWei(1000000000000,'ether'),1 ether=10**18 wei,效果如圖:
檢視私有鏈資訊和設定私有鏈命令
設定私有鏈命令:web3.setProvider(new web3.providers.HttpProvider('http://localhost:8545'))
檢視私有鏈資訊命令:web3.currentProvider;
如圖:
檢視賬戶列表命令
輸入命令:web3.setProvider(new web3.providers.HttpProvider('http://localhost:9545'))把私有鏈地址切換回來;
輸入命令:web3.eth.accounts檢視賬戶列表;
檢視第一個賬戶:web3.eth.accounts[0];如圖:
檢視賬戶餘額命令
輸入命令檢視第一個賬戶餘額:web3.eth.getBalance(web3.eth.accounts[0]),會發現一個十六進位制的表示方式,在命令後加“.toString()”可轉成數字表示;
表示的單位是“位”,我們可以和轉換單位的命令結合,將單位轉換成“以太”,命令:web3.fromWei(web3.eth.getBalance(web3.eth.accounts[0]).toString(),'ether');
如圖:
轉賬命令
輸入命令:web3.eth.sendTransaction({from:account1,to:account2,value:web3.toWei(10,'ether')});
在該命令之前要先定義account1和account2,輸入命令:var account1 = web3.eth.accounts[0] ; var account2 = web3.eth.accounts[1] ;
轉賬完後分別檢視account1和account2的餘額變化;
如圖: