From 0992a71b8f3071b4bcd1aa3cb94c767ec4d958b5 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Thu, 21 Apr 2022 14:58:30 +0800 Subject: [PATCH] 1 --- server/web3helper/blockchain.js | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/server/web3helper/blockchain.js b/server/web3helper/blockchain.js index 2003e23..bb6c491 100644 --- a/server/web3helper/blockchain.js +++ b/server/web3helper/blockchain.js @@ -14,6 +14,7 @@ class BlockChain { this.currBlockNumber = 0; this.refreshCond = new sync.Cond(); this.lastRefreshTime = utils.getUtcTime(); + this.firstBlockNumber = -1; this.netId = 0; setTimeout(this.refreshBlockNumber.bind(this), 1000 * 0.01); } @@ -73,6 +74,33 @@ class BlockChain { return this.currBlockNumber; } + async getFirstBlockNumber() { + while (this.firstBlockNumber < 0) { + const {err, conn} = await app.getDbConn('MarketDb0'); + if (err) { + await utils.sleep(1000 + utils.randRange(500, 1500)); + continue; + } + try { + const {err, row} = await conn.ormSelectOne( + 't_parameter', + [ + ['name', 'first_block_number'] + ] + ); + if (!err && row) { + this.firstBlockNumber = Number(row['value']); + } + } catch (e) { + + } finally { + conn.release(); + } + await utils.sleep(5000 + utils.randRange(500, 1500)); + } + return this.firstBlockNumber; + } + } module.exports = new BlockChain();