bitcore-node
Version:
A blockchain indexing node with extended capabilities using bitcore
35 lines (29 loc) • 1.05 kB
text/typescript
import express from 'express';
import config from '../config';
import { PerformanceTracker } from '../decorators/Loggify';
import { StateStorage } from '../models/state';
import { ChainNetwork } from '../types/ChainNetwork';
const router = express.Router({ mergeParams: true });
router.get('/enabled-chains', function(_, res) {
const chainNetworks = new Array<ChainNetwork>();
for (let chain of Object.keys(config.chains)) {
for (let network of Object.keys(config.chains[chain])) {
chainNetworks.push({ chain, network });
}
}
res.json(chainNetworks);
});
router.get('/performance', function(_, res) {
res.json(PerformanceTracker);
});
router.get('/:chain/:network/sync', async function(req, res) {
let { chain, network } = req.params;
const state = await StateStorage.collection.findOne({});
const initialSyncComplete =
state && state.initialSyncComplete && state.initialSyncComplete.includes(`${chain}:${network}`);
res.json({ initialSyncComplete });
});
module.exports = {
router,
path: '/status'
};