# 介绍

web3.js 库是一组包含以太坊生态系统功能的模块。

  • web3-eth,用于以太坊区块链和智能合约
  • web3-shh
  • web3-bzz
  • web3-utils,为Dapp提供一些帮助函数

# API

# Web3

# currentProvider

获取当前使用的 provider,该方法已经弃用,使用window.ethereum替代

# web3.eth.accounts

用于生成以太坊账户和签署交易

# getPastEvents

获取历史事件数据,返回数组,按照事件触发顺序排序this.contract.getPastEvents("OptionCreated", { fromBlock: 1 })

metamask限制最多获取5000条数据

为了解决这种问题,需要使用遍历来解决

web3js.eth.getBlockNumber(function(error, result){
	var _from = result - 890000;
        var _to = _from + 5000;
	for(var i = 0; i < 180; i++){
	    mycontrack.getPastEvents('myEvent', {filter: {}, fromBlock: _from, toBlock: _to}).then((res) => {
            for(var m = 0;m <res.length;m++){
	          //拿出数据记录
	     }
        });
	_to += 5000;
	_from += 5000;
	}	
});