web3js开发技术

一、环境安装

二、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()
  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值