本次主要是解决了几个bug,然后添加了两个锦上添花的功能。
1. 扫描频率不再受限制了,只要大于1毫秒即可
2. 添加了最大扫描块高,当扫描到这个快高的时候,就会自动停止本任务
3. 添加了获取当前扫描到的最大块高的功能
设置最大是扫描块高
看下面代码中的有注释的那一行
EventThreadPool.init(1);
MagicianBlockchainScan.create()
.setRpcUrl(
EthRpcInit.create()
.addRpcUrl("https://data-seed-prebsc-1-s1.binance.org:8545")
)
.setScanPeriod(5000)
.setBeginBlockNumber(BigInteger.valueOf(24318610))
.setEndBlockNumber(BigInteger.valueOf(24318680)) // 扫描到哪个块高就停止这个任务(不设置,或者设置为0,代表不限制)
.addEthMonitorEvent(new EventOne())
.start();
获取当前扫描到的最大块高
看下面代码中的有注释的那一行
// 将对象拿到
MagicianBlockchainScan blockChainScan = MagicianBlockchainScan.create()
.setRpcUrl(
EthRpcInit.create()
.addRpcUrl("https://data-seed-prebsc-1-s1.binance.org:8545")
)
.setScanPeriod(5000)
.setBeginBlockNumber(BigInteger.valueOf(24318610))
.addEthMonitorEvent(new EventOne())
blockChainScan.start();
// 调用这个方法可以获取当前任务已经扫描到的最大块高
// 有一定的误差,因为在你获取的这一瞬间,扫描任务可能又扫描到好几个新块高了
blockChainScan.getCurrentBlockHeight();
除此之外,还解决了 Magician-ContractsTools 设置chainId后报错的bug