fcoin/scripts/update.js
2014-05-06 22:08:38 +04:00

52 lines
1.2 KiB
JavaScript

// Update preloader
var assert = require('assert');
var dns = require('dns');
var net = require('net');
var path = require('path');
var bcoin = require('../');
var addrs = [
'seed.bitcoin.sipa.be',
'dnsseed.bluematt.me',
'dnsseed.bitcoin.dashjr.org',
'seed.bitcoinstats.com',
'seed.bitnodes.io',
'bitseed.xf2.org'
];
var pool = bcoin.pool({
count: 16,
createConnection: function() {
return net.connect(8333, addrs[(Math.random() * addrs.length) | 0]);
}
});
console.log('Updating bcoin preloaded chain...');
var last = 0;
pool.on('block', function(block) {
if (block.ts <= last)
return;
console.log('Got: ' + block.hash('hex') + ' ' + new Date(block.ts * 1000));
});
pool.once('full', finish);
process.once('SIGINT', finish);
var once = false;
function finish() {
if (once)
return;
once = true;
console.log('Done...');
var chain = '// Autogenerated, use scripts/update.js to update\n' +
'module.exports = ' +
JSON.stringify(pool.chain.toJSON(), null, 2) + '\n';
var file =
path.resolve(__dirname, '..', 'lib', 'bcoin', 'protocol', 'preload.js');
require('fs').writeFileSync(file, chain);
pool.destroy();
}