diff --git a/bitcoin.js b/bitcoin.js new file mode 100644 index 0000000..142044e --- /dev/null +++ b/bitcoin.js @@ -0,0 +1,7 @@ +// setup bitcoind rpc +const config = require('./config'); +let jayson = require('jayson/promise'); +let url = require('url'); +let rpc = url.parse(config.bitcoind.rpc); +rpc.timeout = 5000; +module.exports = jayson.client.http(rpc); diff --git a/controllers/api.js b/controllers/api.js index 32885d7..0bafb0b 100644 --- a/controllers/api.js +++ b/controllers/api.js @@ -5,7 +5,6 @@ let router = express.Router(); let assert = require('assert'); console.log('using config', JSON.stringify(config)); -// setup redis var Redis = require('ioredis'); var redis = new Redis(config.redis); redis.monitor(function(err, monitor) { @@ -14,40 +13,8 @@ redis.monitor(function(err, monitor) { }); }); -// setup bitcoind rpc -let jayson = require('jayson/promise'); -let url = require('url'); -let rpc = url.parse(config.bitcoind.rpc); -rpc.timeout = 5000; -let bitcoinclient = jayson.client.http(rpc); - -// setup lnd rpc -var fs = require('fs'); -var grpc = require('grpc'); -var lnrpc = grpc.load('rpc.proto').lnrpc; -process.env.GRPC_SSL_CIPHER_SUITES = 'HIGH+ECDSA'; -var lndCert; -if (process.env.TLSCERT) { - lndCert = Buffer.from(process.env.TLSCERT, 'hex'); -} else { - lndCert = fs.readFileSync('tls.cert'); -} -console.log('using tls.cert', lndCert.toString('hex')); -let sslCreds = grpc.credentials.createSsl(lndCert); -let macaroon; -if (process.env.MACAROON) { - macaroon = process.env.MACAROON; -} else { - macaroon = fs.readFileSync('admin.macaroon').toString('hex'); -} -console.log('using macaroon', macaroon); -let macaroonCreds = grpc.credentials.createFromMetadataGenerator(function(args, callback) { - let metadata = new grpc.Metadata(); - metadata.add('macaroon', macaroon); - callback(null, metadata); -}); -let creds = grpc.credentials.combineChannelCredentials(sslCreds, macaroonCreds); -let lightning = new lnrpc.Lightning(config.lnd.url, creds); +let bitcoinclient = require('../bitcoin'); +let lightning = require('../lightning'); // ###################### SMOKE TESTS ######################## diff --git a/lightning.js b/lightning.js new file mode 100644 index 0000000..ff02047 --- /dev/null +++ b/lightning.js @@ -0,0 +1,28 @@ +// setup lnd rpc +const config = require('./config'); +var fs = require('fs'); +var grpc = require('grpc'); +var lnrpc = grpc.load('rpc.proto').lnrpc; +process.env.GRPC_SSL_CIPHER_SUITES = 'HIGH+ECDSA'; +var lndCert; +if (process.env.TLSCERT) { + lndCert = Buffer.from(process.env.TLSCERT, 'hex'); +} else { + lndCert = fs.readFileSync('tls.cert'); +} +console.log('using tls.cert', lndCert.toString('hex')); +let sslCreds = grpc.credentials.createSsl(lndCert); +let macaroon; +if (process.env.MACAROON) { + macaroon = process.env.MACAROON; +} else { + macaroon = fs.readFileSync('admin.macaroon').toString('hex'); +} +console.log('using macaroon', macaroon); +let macaroonCreds = grpc.credentials.createFromMetadataGenerator(function(args, callback) { + let metadata = new grpc.Metadata(); + metadata.add('macaroon', macaroon); + callback(null, metadata); +}); +let creds = grpc.credentials.combineChannelCredentials(sslCreds, macaroonCreds); +module.exports = new lnrpc.Lightning(config.lnd.url, creds);