一、环境安装
二、web3js对象
查看web3库中包含的模块
//导入类库
let Web3 = require('web3')
web3 = new Web3(new Web3.providers.HttpProvider("http://127.0.0.1:7545"));
console.log(Web3.modules);
子模块列表:
- Eth - Function: Eth模块类,用来与以太坊网络进行交互。参见web3.eth。
- Net - Function: Net模块类,用来与网络属性进行交互。参见web3.eth.net。
- Personal - Function: Personal模块类,用来与以太坊账户进行交互。参见web3.eth.personal。
- Shh - Function: Shh模块类,用来与whisper协议交互。参见web3.shh。
- Bzz - Function: Bzz模块类,用来与swarm网络交互。参见web3.bzz。
三、web3js查询函数
查看web3连接的节点信息
web3.eth.getNodelnfo([callback])可以查看web3连接的节点信息
//导入类库
let Web3 = require('web3')
web3 = new Web3(new Web3.providers.HttpProvider("http://127.0.0.1:7545"));
web3.eth.getNodeInfo().then(console.log);
查看是否连接到节点
web3.eth.net.isListening返回当前所连接节点旳网络监听状态
格式
- web3.eth.net.isListening([callback])
- web3.bzz.net.isListening([callback])
- web3.shh.net.isListening([callback])
//导入类库
let Web3 = require('web3')
web3 = new Web3(new Web3.providers.HttpProvider("http://127.0.0.1:7545"));
web3.eth.net.isListening().then(console.log);
获取Network id(网络号)
web3.eth.net.isListening返回当前所连接网络ID
格式
- web3.eth.net.getId([callback])
- web3.bzz.net.getId([callback])
- web3.shh.net.getId([callback])
//导入类库
let Web3 = require('web3')
web3 = new Web3(new Web3.providers.HttpProvider("http://127.0.0.1:7545"));
web3.eth.net.isListening().then(console.log);
web3.eth.net.getId().then(console.log);
以太坊network id列表
获取节点的以太坊协议版本
web3.eth.getProtocolVersion,返回节点旳以太坊协议版本
格式:
· web3.eth.getProtocolVersion([callback])
四、web3js.providers
查看Web3中所有可用的Providers
web3.providers查询当前有效的通信服务提供器
格式
- web3.providers
- web3.eth.providers
- web3.bzz.providers
- web3.shh.providers
查看当前设置的web3 provider
**web3.currentProvider属性返回当前在用的通信服务提供器,如果没有的话则返回null。
**
格式
- web3.currentProvider
- web3.eth.currentProvider
- web3.bzz.currentProvider
- web3.shh.currentProvider
//导入类库
let Web3 = require('web3')
web3 = new Web3(new Web3.providers.HttpProvider("http://127.0.0.1:7545"));
console.log(web3.providers);
console.log(web3.currentProvider);
查看浏览器环境设置的web3 provider
在以太坊兼容的浏览器中使用web3.js时,web3.givenProvider属性将返回浏览器设置的原生服务提供器,否则返回null。
格式
- web3.givenProvider
- web3.eth.givenProvider
- web3.bzz.givenProvider
- web3.shh.givenProvider
设置/修改provider
web3.setProvider()方法用来修改指定模块的底层通讯服务提供器。
格式
- web3.setProvider(myProvider)
- web3.eth.setProvider(myProvider)
- web3.bzz.setProvider(myProvider)
- web3.shh.setProvider(myProvider)
五、web3js批量请求
批处理简介
- 批处理请求就是将几个请求打包在一起提交
- 批处理执行时是串联执行,即一个个按顺序执行
- 因此,批处理执行速度并不会快,它可以保证代码的执行顺序
- 在Web3中使用BatchRequest 实现批处理
批处理格式和方法
格式
- new web3.BatchRequest()
- new web3.eth.BatchRequest()
- new web3.shh.BatchRequest()
- new web3.bzz.BatchRequest()