Stubbed insight API
Server changed to API cleaned up some console.log Insight UI does not use the entire API. Those are high priority
This commit is contained in:
parent
ee160d9e7b
commit
71a24237f2
11
index.js
11
index.js
@ -2,7 +2,7 @@ const FullNode = require('bcoin/lib/node/fullnode');
|
|||||||
const config = require(`${__dirname}/config/config.js`);
|
const config = require(`${__dirname}/config/config.js`);
|
||||||
const logger = require('./lib/logger');
|
const logger = require('./lib/logger');
|
||||||
const Block = require('./models/block');
|
const Block = require('./models/block');
|
||||||
const Server = require('./lib/server');
|
const Api = require('./lib/api');
|
||||||
const db = require('./lib/db');
|
const db = require('./lib/db');
|
||||||
const util = require('./lib/util');
|
const util = require('./lib/util');
|
||||||
const node = new FullNode(config.bcoin);
|
const node = new FullNode(config.bcoin);
|
||||||
@ -13,6 +13,7 @@ logger.log('debug',
|
|||||||
(async () => {
|
(async () => {
|
||||||
logger.log('debug',
|
logger.log('debug',
|
||||||
'Starting Full Node');
|
'Starting Full Node');
|
||||||
|
|
||||||
await node.open();
|
await node.open();
|
||||||
await node.connect();
|
await node.connect();
|
||||||
|
|
||||||
@ -22,7 +23,8 @@ logger.log('debug',
|
|||||||
});
|
});
|
||||||
|
|
||||||
node.on('tx', (tx) => {
|
node.on('tx', (tx) => {
|
||||||
console.log('%s added to mempool.', tx.txid());
|
logger.log('debug',
|
||||||
|
'%s added to mempool.', tx.txid());
|
||||||
});
|
});
|
||||||
|
|
||||||
node.startSync();
|
node.startSync();
|
||||||
@ -61,6 +63,7 @@ function processBlock(block) {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
Server.listen(3000, () => {
|
Api.listen(3000, () => {
|
||||||
console.log('listening on port 3000');
|
logger.log('debug',
|
||||||
|
'listening on port 3000');
|
||||||
});
|
});
|
||||||
|
|||||||
143
lib/api/index.js
Normal file
143
lib/api/index.js
Normal file
@ -0,0 +1,143 @@
|
|||||||
|
const express = require('express');
|
||||||
|
const app = express();
|
||||||
|
const mongoose = require('mongoose');
|
||||||
|
const config = require('../../config/config.js');
|
||||||
|
const Block = require('../../models/block.js');
|
||||||
|
const BLOCK_LIMIT = 200;
|
||||||
|
|
||||||
|
mongoose.connect(config.mongodb.uri, config.mongodb.options);
|
||||||
|
|
||||||
|
// Address Routes
|
||||||
|
app.get('/block/:blockhash', (req, res) => {
|
||||||
|
res.send(req.params.blockhash);
|
||||||
|
});
|
||||||
|
|
||||||
|
app.get('/blocks', (req, res) => {
|
||||||
|
res.send({
|
||||||
|
blocks: [],
|
||||||
|
length: 0,
|
||||||
|
pagination: {
|
||||||
|
},
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
app.get('/rawblock/:blockHash', (req, res) => {
|
||||||
|
res.send(req.params.blockHash);
|
||||||
|
});
|
||||||
|
|
||||||
|
app.get('/block-index/:height', (req, res) => {
|
||||||
|
res.send(req.params.height);
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
// Tx Routes
|
||||||
|
app.get('/tx/:txid', (req, res) => {
|
||||||
|
res.send(req.params.txid);
|
||||||
|
});
|
||||||
|
|
||||||
|
app.get('/txs', (req, res) => {
|
||||||
|
res.send('list of txs');
|
||||||
|
});
|
||||||
|
|
||||||
|
app.post('/tx/send', (req, res) => {
|
||||||
|
res.send('tx send stub');
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
// Raw Routes
|
||||||
|
app.get('/rawtx/:txid', (req, res) => {
|
||||||
|
res.send(req.params.txid);
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
// Address Routes
|
||||||
|
app.get('/addr/:addr', (req, res) => {
|
||||||
|
res.send(req.params.addr);
|
||||||
|
});
|
||||||
|
|
||||||
|
app.get('/addr/:addr/utxo', (req, res) => {
|
||||||
|
res.send(req.params.addr);
|
||||||
|
});
|
||||||
|
|
||||||
|
app.get('/addrs/:addrs/utxo', (req, res) => {
|
||||||
|
res.send(req.params.addrs);
|
||||||
|
});
|
||||||
|
|
||||||
|
app.post('/addrs/utxo', (req, res) => {
|
||||||
|
res.send('post stub');
|
||||||
|
});
|
||||||
|
|
||||||
|
app.get('/addrs/:addrs/txs', (req, res) => {
|
||||||
|
res.send(req.params.addrs);
|
||||||
|
});
|
||||||
|
|
||||||
|
app.post('/addrs/txs', (req, res) => {
|
||||||
|
res.send('post stub');
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
// Address property routes
|
||||||
|
app.get('/addr/:addr/balance', (req, res) => {
|
||||||
|
res.send(req.params.addr);
|
||||||
|
});
|
||||||
|
|
||||||
|
app.get('/addr/:addr/totalReceived', (req, res) => {
|
||||||
|
res.send(req.params.addr);
|
||||||
|
});
|
||||||
|
|
||||||
|
app.get('/addr/:addr/totalSent', (req, res) => {
|
||||||
|
res.send(req.params.addr);
|
||||||
|
});
|
||||||
|
|
||||||
|
app.get('/addr/:addr/unconfirmedBalance', (req, res) => {
|
||||||
|
res.send(req.params.addr);
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
// Status
|
||||||
|
app.get('/status', (req, res) => {
|
||||||
|
res.send('status');
|
||||||
|
});
|
||||||
|
|
||||||
|
app.get('/sync', (req, res) => {
|
||||||
|
res.send('sync');
|
||||||
|
});
|
||||||
|
|
||||||
|
app.get('/peer', (req, res) => {
|
||||||
|
res.send('peer');
|
||||||
|
});
|
||||||
|
|
||||||
|
app.get('/version', (req, res) => {
|
||||||
|
res.send('version');
|
||||||
|
});
|
||||||
|
|
||||||
|
// Messages
|
||||||
|
app.get('/messages/verify', (req, res) => {
|
||||||
|
res.send('messages verify');
|
||||||
|
});
|
||||||
|
|
||||||
|
app.post('/messages/verify', (req, res) => {
|
||||||
|
res.send('post messages verify');
|
||||||
|
});
|
||||||
|
|
||||||
|
app.get('/utils/estimatefee', (req, res) => {
|
||||||
|
res.send('estimate fees');
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
// Currency
|
||||||
|
app.get('/currency', (req, res) => {
|
||||||
|
res.send('currency');
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
// 404 Catchall
|
||||||
|
app.use((req, res) => {
|
||||||
|
res.status(404).send({
|
||||||
|
status: 404,
|
||||||
|
url: req.originalUrl,
|
||||||
|
error: 'Not found',
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
module.exports = app;
|
||||||
@ -1,23 +0,0 @@
|
|||||||
const express = require('express');
|
|
||||||
const app = express();
|
|
||||||
const mongoose = require('mongoose');
|
|
||||||
const config = require('../../config/config.js');
|
|
||||||
const Block = require('../../models/block.js');
|
|
||||||
|
|
||||||
mongoose.connect(config.mongodb.uri, config.mongodb.options);
|
|
||||||
|
|
||||||
app.get('/block/:blockhash', (req, res) => {
|
|
||||||
res.send(req.params.blockhash);
|
|
||||||
});
|
|
||||||
|
|
||||||
app.get('/blocks', (req, res) => {
|
|
||||||
res.send({
|
|
||||||
blocks: [],
|
|
||||||
length: 0,
|
|
||||||
pagination: {
|
|
||||||
next:
|
|
||||||
}
|
|
||||||
})
|
|
||||||
});
|
|
||||||
|
|
||||||
module.exports = app;
|
|
||||||
@ -8,7 +8,7 @@ const BlockSchema = new Schema({
|
|||||||
version: Number,
|
version: Number,
|
||||||
merkleRoot: String,
|
merkleRoot: String,
|
||||||
tx: Array,
|
tx: Array,
|
||||||
time: Date,
|
time: Number,
|
||||||
nonce: Number,
|
nonce: Number,
|
||||||
bits: Number,
|
bits: Number,
|
||||||
difficulty: Number,
|
difficulty: Number,
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user