Config renamed to index.js for implicit importing. Moved routes to their own files

This commit is contained in:
tenthirtyone 2017-08-03 22:18:12 -04:00
parent a5528e49d8
commit 836a2c4457
13 changed files with 153 additions and 147 deletions

View File

@ -1,4 +1,5 @@
const config = {
logging: 'debug',
bcoin: {
network: 'main',
db: 'leveldb',

View File

@ -1,5 +1,5 @@
const node = require('./lib/node');
const config = require('./config/config');
const config = require('./config');
const logger = require('./lib/logger');
const Api = require('./lib/api');
const db = require('./lib/db');
@ -14,4 +14,4 @@ Api.listen(config.api.port, () => {
'listening on port 3000');
});
node.start();
//node.start();

42
lib/api/address.js Normal file
View 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
View 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
View File

@ -0,0 +1,5 @@
module.exports = function(app) {
app.get('/currency', (req, res) => {
res.send('currency');
});
};

View File

@ -1,137 +1,14 @@
const express = require('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
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
// 404
app.use((req, res) => {
res.status(404).send({
status: 404,

13
lib/api/message.js Normal file
View 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
View 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
View 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');
});
};

View File

@ -1,4 +1,6 @@
const winston = require('winston');
const config = require('../../config');
const logfile = new Date().toISOString();
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;

View File

@ -1,6 +1,5 @@
const FullNode = require('bcoin/lib/node/fullnode');
const config = require('../../config/config');
const node = new FullNode(config.bcoin);
const config = require('../../config');
const logger = require('../../lib/logger');
const util = require('../../lib/util');
const BlockModel = require('../../models/block');
@ -8,13 +7,15 @@ const TxModel = require('../../models/transaction').Transaction;
const InputModel = require('../../models/transaction').Input;
const OutputModel = require('../../models/transaction').Output;
const node = new FullNode(config.bcoin);
function start() {
node.open()
.then(() => {
node.connect().then(() => {
node.startSync();
.then(() => {
node.connect().then(() => {
node.startSync();
});
});
});
node.chain.on('connect', (entry, block) => {
logger.log('debug',
@ -84,7 +85,7 @@ function processTx(entry, txs) {
vout: 0,
});
}),
blockHash: blockHash,
blockHash,
blockHeight: entry.height,
confirmations: 0,
time: entry.ts,
@ -98,8 +99,8 @@ function processTx(entry, txs) {
});
t.save((err) => {
if (err) {
console.log(err.message);
}
console.log(err.message);
}
});
});
}

View File

@ -52,5 +52,5 @@ const Output = mongoose.model('Output', OutputSchema);
module.exports = {
Transaction,
Input,
Output
Output,
};

View File

@ -1,7 +1,7 @@
const db = require('../lib/db');
const Block = require('../models/block.js');
Block.findOne({}, function(err, block) {
console.log(err)
console.log(block)
})
Block.findOne({}, (err, block) => {
console.log(err);
console.log(block);
});