web3.js是以太坊提供的一個Javascript庫,它封裝了以太坊的JSON RPC API,提供了一系列與區塊鍊互動的Javascript對象和函數,包括檢視網絡狀态,檢視本地賬戶、檢視交易和區塊、發送交易、編譯/部署智能合約、調用智能合約等。
安裝web3.js
web3.js Github位址
系統:Ubuntu 18.04
sudo apt-get update
sudo apt-get install nodejs
sudo apt install nodejs-legacy
sudo apt install npm
局部安裝web3.js
建立npm項目:
mkdir blockchain
cd blockchain
npm init (填寫相關資訊後會在目前目錄生成 package.json)
sudo npm install web3 --save(會在目前目錄生成node-module檔案夾,裡面是很多子產品)
安裝成功後就可以編寫js程式與geth節點互動了(geth 必須運作且打開rpc服務 geth --rpc --rpcapi 'db,eth,web3')
var Web3 = require('web3')
var web3 = new Web3()
web3.setProvider( new Web3.providers.HttpProvider('http://127.0.0.1:8545') )
var eth = web3.eth
var fs = require("fs");
console.log('Start')
for (i=0; i < 10; i++){
eth.getBlock(i, 1, function(err, block) {
if (err) return console.log(err);
fs.appendFile('blocks/parse.json', JSON.stringify(block,null,2)+"\n", function(err) {
if (err) return console.error(err)
})
})
}
console.log("success")
});