From e5de8ecccc322596d2b3085a7bedd2fc6acc0a0c Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Wed, 5 Jul 2023 17:20:20 +0800 Subject: [PATCH] 1 --- server/web3dbspider/metadata/factory.js | 15 ++++++++++++++- server/web3dbspider/services/pull_dbevent.js | 7 ++++++- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/server/web3dbspider/metadata/factory.js b/server/web3dbspider/metadata/factory.js index 1039ff9..e4f14f9 100644 --- a/server/web3dbspider/metadata/factory.js +++ b/server/web3dbspider/metadata/factory.js @@ -1,5 +1,6 @@ const app = require('j7/app'); const utils = require('j7/utils'); +const bcutils = require('j7/bcutils'); const log = require('j7/log'); const metaClassList = []; @@ -116,12 +117,24 @@ async function init() { item['nets'].forEach((net) => { const netId = net['net_id']; const netDir = configDir + 'nets/' + netId + '/'; - web3ConfHash[netId] = { + const netObj = { 'net_id': netId, 'netId': netId, 'Web3': utils.readJsonFromFile(netDir + 'web3.json'), 'Contract': utils.readJsonFromFile(netDir + 'contract.json'), }; + netObj.getContractAddressByName = (name) => { + let address = ''; + netObj.Contract.forEach( + (item) => { + if (item['name'] == name) { + address = bcutils.toNormalAddress(item['address']); + } + } + ); + return address; + }; + web3ConfHash[netId] = netObj; }); } }); diff --git a/server/web3dbspider/services/pull_dbevent.js b/server/web3dbspider/services/pull_dbevent.js index f721ca1..d5f76a6 100644 --- a/server/web3dbspider/services/pull_dbevent.js +++ b/server/web3dbspider/services/pull_dbevent.js @@ -22,6 +22,7 @@ class PullDbEvent extends BaseService { this.lastIdx = BigInt(0); this.eventConf = this.event['eventConf']; this.progInfo = this.event['progressInfo']; + this.contractAddress = this.net.getContractAddressByName(this.getContractName()); await this.start(); } @@ -79,12 +80,16 @@ class PullDbEvent extends BaseService { return maxIdx; } + getNetId() { + return this.net['net_id']; + } + getEventName() { return this.eventConf['event_name']; } getContractAddress() { - //return this.bc.getContractAddressByName(this.getContractName()); + return this.contractAddress; } getContractName() {