Refactor. API explanations. UX revamp.

This commit is contained in:
Simon Lindh
2020-02-17 20:39:20 +07:00
committed by wiz
parent 45fa1be217
commit 98391580b3
40 changed files with 474 additions and 210 deletions

View File

@@ -1,5 +1,5 @@
const config = require('../../../mempool-config.json');
import { Transaction, Block } from '../../interfaces';
import { Transaction, Block, MempoolInfo } from '../../interfaces';
import * as request from 'request';
class ElectrsApi {
@@ -7,6 +7,27 @@ class ElectrsApi {
constructor() {
}
getMempoolInfo(): Promise<MempoolInfo> {
return new Promise((resolve, reject) => {
request(config.ELECTRS_API_URL + '/mempool', { json: true, timeout: 10000 }, (err, res, response) => {
if (err) {
reject(err);
} else if (res.statusCode !== 200) {
reject(response);
} else {
if (!response.count) {
reject('Empty data');
return;
}
resolve({
size: response.count,
bytes: response.vsize,
});
}
});
});
}
getRawMempool(): Promise<Transaction['txid'][]> {
return new Promise((resolve, reject) => {
request(config.ELECTRS_API_URL + '/mempool/txids', { json: true, timeout: 10000, forever: true }, (err, res, response) => {

View File

@@ -32,6 +32,14 @@ class Mempool {
}
}
public async updateMemPoolInfo() {
try {
this.mempoolInfo = await bitcoinApi.getMempoolInfo();
} catch (err) {
console.log('Error getMempoolInfo', err);
}
}
public getMempoolInfo(): MempoolInfo | undefined {
return this.mempoolInfo;
}