Config renamed to index.js for implicit importing. Moved routes to their own files
This commit is contained in:
parent
a5528e49d8
commit
836a2c4457
@ -1,4 +1,5 @@
|
|||||||
const config = {
|
const config = {
|
||||||
|
logging: 'debug',
|
||||||
bcoin: {
|
bcoin: {
|
||||||
network: 'main',
|
network: 'main',
|
||||||
db: 'leveldb',
|
db: 'leveldb',
|
||||||
4
index.js
4
index.js
@ -1,5 +1,5 @@
|
|||||||
const node = require('./lib/node');
|
const node = require('./lib/node');
|
||||||
const config = require('./config/config');
|
const config = require('./config');
|
||||||
const logger = require('./lib/logger');
|
const logger = require('./lib/logger');
|
||||||
const Api = require('./lib/api');
|
const Api = require('./lib/api');
|
||||||
const db = require('./lib/db');
|
const db = require('./lib/db');
|
||||||
@ -14,4 +14,4 @@ Api.listen(config.api.port, () => {
|
|||||||
'listening on port 3000');
|
'listening on port 3000');
|
||||||
});
|
});
|
||||||
|
|
||||||
node.start();
|
//node.start();
|
||||||
|
|||||||
42
lib/api/address.js
Normal file
42
lib/api/address.js
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
|
||||||
|
module.exports = function(app) {
|
||||||
|
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');
|
||||||
|
});
|
||||||
|
|
||||||
|
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);
|
||||||
|
});
|
||||||
|
};
|
||||||
29
lib/api/block.js
Normal file
29
lib/api/block.js
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
const Block = require('../../models/block.js');
|
||||||
|
|
||||||
|
module.exports = function (app) {
|
||||||
|
app.get('/block/:blockHash', (req, res) => {
|
||||||
|
Block.find({ hash: req.params.blockHash }, (err, block) => {
|
||||||
|
if (err) {
|
||||||
|
console.log(err);
|
||||||
|
}
|
||||||
|
res.send(block);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
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);
|
||||||
|
});
|
||||||
|
};
|
||||||
5
lib/api/currency.js
Normal file
5
lib/api/currency.js
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
module.exports = function(app) {
|
||||||
|
app.get('/currency', (req, res) => {
|
||||||
|
res.send('currency');
|
||||||
|
});
|
||||||
|
};
|
||||||
137
lib/api/index.js
137
lib/api/index.js
@ -1,137 +1,14 @@
|
|||||||
const express = require('express');
|
const express = require('express');
|
||||||
|
|
||||||
const app = express();
|
const app = express();
|
||||||
const mongoose = require('mongoose');
|
|
||||||
const config = require('../../config/config');
|
|
||||||
const Block = require('../../models/block.js');
|
|
||||||
const BLOCK_LIMIT = 200;
|
|
||||||
|
|
||||||
mongoose.connect(config.mongodb.uri, config.mongodb.options);
|
const AddressAPI = require('./address')(app);
|
||||||
|
const BlockAPI = require('./block')(app);
|
||||||
|
const StatusAPI = require('./status')(app);
|
||||||
|
const TransactionAPI = require('./transaction')(app);
|
||||||
|
const MessageAPI = require('./message')(app);
|
||||||
|
|
||||||
// Address Routes
|
// 404
|
||||||
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) => {
|
app.use((req, res) => {
|
||||||
res.status(404).send({
|
res.status(404).send({
|
||||||
status: 404,
|
status: 404,
|
||||||
|
|||||||
13
lib/api/message.js
Normal file
13
lib/api/message.js
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
module.exports = function(app) {
|
||||||
|
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');
|
||||||
|
});
|
||||||
|
};
|
||||||
17
lib/api/status.js
Normal file
17
lib/api/status.js
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
module.exports = function(app) {
|
||||||
|
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');
|
||||||
|
});
|
||||||
|
};
|
||||||
19
lib/api/transaction.js
Normal file
19
lib/api/transaction.js
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
const Transaction = require('../../models/transaction.js').Transaction;
|
||||||
|
|
||||||
|
module.exports = function (app) {
|
||||||
|
app.get('/tx/:txid', (req, res) => {
|
||||||
|
res.send(req.params.txid);
|
||||||
|
});
|
||||||
|
|
||||||
|
app.get('/txs', (req, res) => {
|
||||||
|
res.send('list of txs');
|
||||||
|
});
|
||||||
|
|
||||||
|
app.get('/rawtx/:txid', (req, res) => {
|
||||||
|
res.send(req.params.txid);
|
||||||
|
});
|
||||||
|
|
||||||
|
app.post('/tx/send', (req, res) => {
|
||||||
|
res.send('tx send stub');
|
||||||
|
});
|
||||||
|
};
|
||||||
@ -1,4 +1,6 @@
|
|||||||
const winston = require('winston');
|
const winston = require('winston');
|
||||||
|
const config = require('../../config');
|
||||||
|
|
||||||
const logfile = new Date().toISOString();
|
const logfile = new Date().toISOString();
|
||||||
|
|
||||||
const logger = new (winston.Logger)({
|
const logger = new (winston.Logger)({
|
||||||
@ -12,6 +14,6 @@ const logger = new (winston.Logger)({
|
|||||||
],
|
],
|
||||||
});
|
});
|
||||||
|
|
||||||
logger.level = process.env.LOG || 'debug';
|
logger.level = process.env.LOG || config.logging;
|
||||||
|
|
||||||
module.exports = logger;
|
module.exports = logger;
|
||||||
|
|||||||
@ -1,6 +1,5 @@
|
|||||||
const FullNode = require('bcoin/lib/node/fullnode');
|
const FullNode = require('bcoin/lib/node/fullnode');
|
||||||
const config = require('../../config/config');
|
const config = require('../../config');
|
||||||
const node = new FullNode(config.bcoin);
|
|
||||||
const logger = require('../../lib/logger');
|
const logger = require('../../lib/logger');
|
||||||
const util = require('../../lib/util');
|
const util = require('../../lib/util');
|
||||||
const BlockModel = require('../../models/block');
|
const BlockModel = require('../../models/block');
|
||||||
@ -8,13 +7,15 @@ const TxModel = require('../../models/transaction').Transaction;
|
|||||||
const InputModel = require('../../models/transaction').Input;
|
const InputModel = require('../../models/transaction').Input;
|
||||||
const OutputModel = require('../../models/transaction').Output;
|
const OutputModel = require('../../models/transaction').Output;
|
||||||
|
|
||||||
|
const node = new FullNode(config.bcoin);
|
||||||
|
|
||||||
function start() {
|
function start() {
|
||||||
node.open()
|
node.open()
|
||||||
.then(() => {
|
.then(() => {
|
||||||
node.connect().then(() => {
|
node.connect().then(() => {
|
||||||
node.startSync();
|
node.startSync();
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
|
||||||
|
|
||||||
node.chain.on('connect', (entry, block) => {
|
node.chain.on('connect', (entry, block) => {
|
||||||
logger.log('debug',
|
logger.log('debug',
|
||||||
@ -84,7 +85,7 @@ function processTx(entry, txs) {
|
|||||||
vout: 0,
|
vout: 0,
|
||||||
});
|
});
|
||||||
}),
|
}),
|
||||||
blockHash: blockHash,
|
blockHash,
|
||||||
blockHeight: entry.height,
|
blockHeight: entry.height,
|
||||||
confirmations: 0,
|
confirmations: 0,
|
||||||
time: entry.ts,
|
time: entry.ts,
|
||||||
@ -98,8 +99,8 @@ function processTx(entry, txs) {
|
|||||||
});
|
});
|
||||||
t.save((err) => {
|
t.save((err) => {
|
||||||
if (err) {
|
if (err) {
|
||||||
console.log(err.message);
|
console.log(err.message);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@ -52,5 +52,5 @@ const Output = mongoose.model('Output', OutputSchema);
|
|||||||
module.exports = {
|
module.exports = {
|
||||||
Transaction,
|
Transaction,
|
||||||
Input,
|
Input,
|
||||||
Output
|
Output,
|
||||||
};
|
};
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
const db = require('../lib/db');
|
const db = require('../lib/db');
|
||||||
const Block = require('../models/block.js');
|
const Block = require('../models/block.js');
|
||||||
|
|
||||||
Block.findOne({}, function(err, block) {
|
Block.findOne({}, (err, block) => {
|
||||||
console.log(err)
|
console.log(err);
|
||||||
console.log(block)
|
console.log(block);
|
||||||
})
|
});
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user