itns-sidechain/docs/Examples/miner-configs.js

50 lines
918 B
JavaScript
Raw Normal View History

2017-03-24 13:52:58 -07:00
'use strict';
2017-08-09 16:38:20 +04:00
const bcoin = require('../..');
const KeyRing = bcoin.keyring;
const WorkerPool = bcoin.workerpool;
const Chain = bcoin.chain;
const Miner = bcoin.miner;
2017-03-24 13:52:58 -07:00
2017-07-17 16:26:47 -07:00
const key = KeyRing.generate('regtest');
const workers = new WorkerPool({
enabled: true
});
2017-06-29 20:54:07 -07:00
const chain = new Chain({
2017-07-17 16:26:47 -07:00
network: 'regtest',
workers: workers
2017-03-24 13:52:58 -07:00
});
2017-06-29 20:54:07 -07:00
const miner = new Miner({
2017-03-24 13:52:58 -07:00
chain: chain,
2017-07-17 16:26:47 -07:00
addresses: [key.getAddress()],
coinbaseFlags: 'my-miner',
workers: workers
2017-03-24 13:52:58 -07:00
});
2017-07-17 16:36:01 -07:00
(async () => {
2017-03-24 13:52:58 -07:00
await miner.open();
const tmpl = await miner.createBlock();
2017-03-24 13:52:58 -07:00
console.log('Block template:');
console.log(tmpl);
2017-08-09 16:38:20 +04:00
const job = await miner.createJob();
const block = await job.mineAsync();
2017-03-24 13:52:58 -07:00
console.log('Mined block:');
console.log(block);
2017-07-17 16:26:47 -07:00
console.log(block.txs[0]);
2017-03-24 13:52:58 -07:00
await chain.add(block);
console.log('New tip:');
console.log(chain.tip);
2017-08-09 16:38:20 +04:00
})().catch((err) => {
console.error(err.stack);
process.exit(1);
});