UNPKG

mxbit

Version:
102 lines (85 loc) 2.48 kB
'use strict'; const consensus = require('../lib/protocol/consensus'); const TX = require('../lib/primitives/tx'); const Block = require('../lib/primitives/block'); const Script = require('../lib/script/script'); const util = require('../lib/utils/util'); function createGenesisBlock(options) { let reward = options.reward; let flags = Buffer.from( '11/Feb/2019 Bitcoin Eyes $3.8K After High-Volume Price Breakout', 'ascii'); let key = Buffer.from('' + '045eb3a9e4920eba4373e3a4d442f1946a5b10b12fdf4191' + '4e434cdcdfde0cf11210fc1f0c17048154fe943fa44b9b0f' + '70eea6ce2b0e5a52847d7681c7248cc3fb', 'hex'); if (!reward) reward = 50 * consensus.COIN; const tx = new TX({ version: 1, inputs: [{ prevout: { hash: consensus.ZERO_HASH, index: 0xffffffff }, script: new Script() .pushInt(504365040) .pushPush(Buffer.from([4])) .pushData(flags) .compile(), sequence: 0xffffffff }], outputs: [{ value: reward, script: Script.fromPubkey(key) }], locktime: 0 }); const block = new Block({ version: options.version, prevBlock: consensus.ZERO_HASH, merkleRoot: tx.hash(), time: options.time, bits: options.bits, nonce: options.nonce, height: 0 }); block.txs.push(tx); return block; } const main = createGenesisBlock({ version: 1, time: 1549908188, bits: 504365040, nonce: 1178027 }); const testnet = createGenesisBlock({ version: 1, time: 1296688602, bits: 504365040, nonce: 1236328 }); const regtest = createGenesisBlock({ version: 1, time: 1296688602, bits: 545259519, nonce: 2 }); console.log(main); console.log(''); console.log(testnet); console.log(''); console.log(regtest); console.log(''); console.log('main hash: %s', main.rhash()); console.log('main raw: %s', main.toRaw().toString('hex')); console.log(''); console.log('testnet hash: %s', testnet.rhash()); console.log('testnet raw: %s', testnet.toRaw().toString('hex')); console.log(''); console.log('regtest hash: %s', regtest.rhash()); console.log('regtest raw: %s', regtest.toRaw().toString('hex')); console.log(util.revHex(Buffer.from('6d6a8fe783643e3b4278201b95517cb72858dbd96d85c23b65d70c16e69a10d5', 'hex'))); console.log(util.revHex(Buffer.from(main.rhash(), 'hex'))); console.log(util.revHex(Buffer.from(testnet.rhash(), 'hex'))); console.log(util.revHex(Buffer.from(regtest.rhash(), 'hex')));