// 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(); }