// 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({ size: 32, redundancy: 1, parallel: 4000, loadWindow: 750, createConnection: function() { console.log('connecting...'); return net.connect(8333, addrs[(Math.random() * addrs.length) | 0]); } }); console.log('Updating bcoin preloaded chain...'); pool.on('block', function(block) { console.log('Got: %s from %s chain len %d orp %d act %d queue %d', block.hash('hex'), new Date(block.ts * 1000).toString(), pool.chain.index.hashes.length, pool.chain.orphan.count, pool.request.active, pool.request.queue.length); }); 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(); }