Web3.js
web3.js是一組用來和本地或遠程以太坊節點進行互動的js庫,它可以使用HTTP或IPC建立與以太坊節點旳連接,
底層實作上,它通過RPC 呼叫與本地或遠程節點通信,web3.js可以與任何暴露了RPC介面的以太坊節點連接,
Installation
npm install web3
Usage
// In Node.js
const Web3 = require('web3');
let web3 = new Web3('ws://localhost:8546');
console.log(web3);
> {
eth: ... ,
shh: ... ,
utils: ...,
...
}
0.20.X 與 1.X 版本的區別
這是 web3.js主要的兩類版本
- 用
truffle migrate或truffle test時會用作業系統安裝的web3js版本,可以用truffle verson查看 - nodejs會使用package.json中指定的web3js版本號
1.x 版本的變動
if ('utils' in web3)可用此判斷web3j的版本web3.sha3被web3.utils.sha3取代- 要哈希的資料在呼叫web3.utils.sha3 前需要先判空:
if (!input || !input.length) { return; }
- 要哈希的資料在呼叫web3.utils.sha3 前需要先判空:
web3.eth.accountsis deprecated. Useweb3.eth.getAccounts()insteadweb3.fromWei被web3.utils.fromWei取代web3.toWei被web3.utils.toWei取代watch不再支持.myContract.EventName([params]).watch([callback])被myContract.EventName([params],[callback])取代
- The HTTP provider is deprecated, as it won’t work for subscriptions.得改用websocket
- truffle-config.js中
websockets: true - HttpProvider 被 WebsocketProvider 取代, 埠號不用變
- network_local.json 中的 rpcUrl 配置成
ws://127.0.0.1:9545
- truffle-config.js中
老的專案想通過編譯
# package.json中配置
"web3": "^0.20.0",
# npm時
npm install --force
-
往期精彩回顧:
- 區塊鏈知識系列
- 密碼學系列
- 零知識證明系列
- 共識系列
- 公鏈調研系列
- 位元幣系列
- 以太坊系列
- EOS系列
- Filecoin系列
- 聯盟鏈系列
- Fabric系列
- 智能合約系列
- Token系列
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/296669.html
標籤:區塊鏈
上一篇:午間BTC/ETH分析策略
