itns-sidechain/lib/protocol/genesis.js
Christopher Jeffrey 40157aa468
hsd: several hard-forks.
- Change PoW to KMAC+BLAKE2b-256, remove Cuckoo Cycle.
- Change to a 10 minute block time (updates other constants,
                                    including the halving interval).
- Add `filterRoot` to block header.
- Add a separate witnessRoot.

The last change fixes our original misdesigned segwit, which made syncing a
non-witness chain more difficult than it needed to be. The previous design
merkelized the transaction itself and there was only one merkle root, which was
essentially a witness root. This required "witness data hashes" to be requested
for each block in a non-witness sync. Using a separate tree is just a better
design in the end.
2019-01-21 22:06:25 -08:00

154 lines
4.2 KiB
JavaScript

// Autogenerated, do not edit.
'use strict';
const data = require('./genesis-data.json');
const genesis = exports;
/*
* Main
*/
genesis.main = {
version: 0,
hash: Buffer.from(
'51a6ab888eda5a583c9426cb2d8f5aa663febaaf8be48b0a9a487fe703e9111b',
'hex'),
prevBlock: Buffer.from(
'0000000000000000000000000000000000000000000000000000000000000000',
'hex'),
merkleRoot: Buffer.from(
'1da0028b82ca41f1d3535cab17eb9f0853ba7b6d7fa73e4c9cb9f4d68a13fe3f',
'hex'),
witnessRoot: Buffer.from(
'5e20903103514e01d9707cddad0a31f3fa677daaf664c7bed9591d5c5e854b98',
'hex'),
treeRoot: Buffer.from(
'0000000000000000000000000000000000000000000000000000000000000000',
'hex'),
filterRoot: Buffer.from(
'0000000000000000000000000000000000000000000000000000000000000000',
'hex'),
reservedRoot: Buffer.from(
'0000000000000000000000000000000000000000000000000000000000000000',
'hex'),
time: 1546499150,
bits: 0x1d00ffff,
nonce: Buffer.from(
'0000000000000000000000000000000000000000000000000000000000000000',
'hex'),
height: 0
};
genesis.mainData = Buffer.from(data.main, 'base64');
/*
* Testnet
*/
genesis.testnet = {
version: 0,
hash: Buffer.from(
'555f542a0b7891d7b79d9cbd05f91c1f6148c3e4daa765cb9e48bee18e2329ef',
'hex'),
prevBlock: Buffer.from(
'0000000000000000000000000000000000000000000000000000000000000000',
'hex'),
merkleRoot: Buffer.from(
'1da0028b82ca41f1d3535cab17eb9f0853ba7b6d7fa73e4c9cb9f4d68a13fe3f',
'hex'),
witnessRoot: Buffer.from(
'5e20903103514e01d9707cddad0a31f3fa677daaf664c7bed9591d5c5e854b98',
'hex'),
treeRoot: Buffer.from(
'0000000000000000000000000000000000000000000000000000000000000000',
'hex'),
filterRoot: Buffer.from(
'0000000000000000000000000000000000000000000000000000000000000000',
'hex'),
reservedRoot: Buffer.from(
'0000000000000000000000000000000000000000000000000000000000000000',
'hex'),
time: 1546499151,
bits: 0x2007ffff,
nonce: Buffer.from(
'0000000000000000000000000000000000000000000000000000000000000000',
'hex'),
height: 0
};
genesis.testnetData = Buffer.from(data.testnet, 'base64');
/*
* Regtest
*/
genesis.regtest = {
version: 0,
hash: Buffer.from(
'a5ed2ebc878a1f965847ffd371fcd3cdc28a735a2645e792aa0980c654d58dae',
'hex'),
prevBlock: Buffer.from(
'0000000000000000000000000000000000000000000000000000000000000000',
'hex'),
merkleRoot: Buffer.from(
'1da0028b82ca41f1d3535cab17eb9f0853ba7b6d7fa73e4c9cb9f4d68a13fe3f',
'hex'),
witnessRoot: Buffer.from(
'5e20903103514e01d9707cddad0a31f3fa677daaf664c7bed9591d5c5e854b98',
'hex'),
treeRoot: Buffer.from(
'0000000000000000000000000000000000000000000000000000000000000000',
'hex'),
filterRoot: Buffer.from(
'0000000000000000000000000000000000000000000000000000000000000000',
'hex'),
reservedRoot: Buffer.from(
'0000000000000000000000000000000000000000000000000000000000000000',
'hex'),
time: 1546499152,
bits: 0x207fffff,
nonce: Buffer.from(
'0000000000000000000000000000000000000000000000000000000000000000',
'hex'),
height: 0
};
genesis.regtestData = Buffer.from(data.regtest, 'base64');
/*
* Simnet
*/
genesis.simnet = {
version: 0,
hash: Buffer.from(
'820b2e8b294d0c5013e9e4e07b3f31b5f458ea5c7664e94963b5481ec6295b96',
'hex'),
prevBlock: Buffer.from(
'0000000000000000000000000000000000000000000000000000000000000000',
'hex'),
merkleRoot: Buffer.from(
'1da0028b82ca41f1d3535cab17eb9f0853ba7b6d7fa73e4c9cb9f4d68a13fe3f',
'hex'),
witnessRoot: Buffer.from(
'5e20903103514e01d9707cddad0a31f3fa677daaf664c7bed9591d5c5e854b98',
'hex'),
treeRoot: Buffer.from(
'0000000000000000000000000000000000000000000000000000000000000000',
'hex'),
filterRoot: Buffer.from(
'0000000000000000000000000000000000000000000000000000000000000000',
'hex'),
reservedRoot: Buffer.from(
'0000000000000000000000000000000000000000000000000000000000000000',
'hex'),
time: 1546499153,
bits: 0x207fffff,
nonce: Buffer.from(
'0000000000000000000000000000000000000000000000000000000000000000',
'hex'),
height: 0
};
genesis.simnetData = Buffer.from(data.simnet, 'base64');