Add genesis block for the regression test network.

This commit is contained in:
Dave Collins 2013-07-24 01:32:43 -05:00
parent 65eae18285
commit a90a8bf341

View file

@ -8,8 +8,8 @@ import (
"time" "time"
) )
// GenesisHash is the hash of the first block in the block chain (genesis // GenesisHash is the hash of the first block in the block chain for the main
// block). // network (genesis block).
var GenesisHash ShaHash = ShaHash{ var GenesisHash ShaHash = ShaHash{
0x6f, 0xe2, 0x8c, 0x0a, 0xb6, 0xf1, 0xb3, 0x72, 0x6f, 0xe2, 0x8c, 0x0a, 0xb6, 0xf1, 0xb3, 0x72,
0xc1, 0xa6, 0xa2, 0x46, 0xae, 0x63, 0xf7, 0x4f, 0xc1, 0xa6, 0xa2, 0x46, 0xae, 0x63, 0xf7, 0x4f,
@ -17,7 +17,8 @@ var GenesisHash ShaHash = ShaHash{
0x68, 0xd6, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x68, 0xd6, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00,
} }
// GenesisMerkleRoot is the hash of the first transaction in the genesis block. // GenesisMerkleRoot is the hash of the first transaction in the genesis block
// for the main network.
var GenesisMerkleRoot ShaHash = ShaHash{ var GenesisMerkleRoot ShaHash = ShaHash{
0x3b, 0xa3, 0xed, 0xfd, 0x7a, 0x7b, 0x12, 0xb2, 0x3b, 0xa3, 0xed, 0xfd, 0x7a, 0x7b, 0x12, 0xb2,
0x7a, 0xc7, 0x2c, 0x3e, 0x67, 0x76, 0x8f, 0x61, 0x7a, 0xc7, 0x2c, 0x3e, 0x67, 0x76, 0x8f, 0x61,
@ -26,14 +27,14 @@ var GenesisMerkleRoot ShaHash = ShaHash{
} }
// GenesisBlock defines the genesis block of the block chain which serves as the // GenesisBlock defines the genesis block of the block chain which serves as the
// public transaction ledger. // public transaction ledger for the main network.
var GenesisBlock MsgBlock = MsgBlock{ var GenesisBlock MsgBlock = MsgBlock{
Header: BlockHeader{ Header: BlockHeader{
Version: 1, Version: 1,
PrevBlock: ShaHash{}, // 0000000000000000000000000000000000000000000000000000000000000000 PrevBlock: ShaHash{}, // 0000000000000000000000000000000000000000000000000000000000000000
MerkleRoot: GenesisMerkleRoot, // 4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b MerkleRoot: GenesisMerkleRoot, // 4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b
Timestamp: time.Unix(0x495fab29, 0), // 2009-01-03 12:15:05 -0600 CST Timestamp: time.Unix(0x495fab29, 0), // 2009-01-03 18:15:05 +0000 UTC
Bits: 0x1d00ffff, // 486604799 Bits: 0x1d00ffff, // 486604799 [00000000ffff0000000000000000000000000000000000000000000000000000]
Nonce: 0x7c2bac1d, // 2083236893 Nonce: 0x7c2bac1d, // 2083236893
TxnCount: 1, TxnCount: 1,
}, },
@ -81,3 +82,74 @@ var GenesisBlock MsgBlock = MsgBlock{
}, },
}, },
} }
// TestNetGenesisHash is the hash of the first block in the block chain for the
// regression test network (genesis block).
var TestNetGenesisHash ShaHash = ShaHash{
0x06, 0x22, 0x6e, 0x46, 0x11, 0x1a, 0x0b, 0x59,
0xca, 0xaf, 0x12, 0x60, 0x43, 0xeb, 0x5b, 0xbf,
0x28, 0xc3, 0x4f, 0x3a, 0x5e, 0x33, 0x2a, 0x1f,
0xc7, 0xb2, 0xb7, 0x3c, 0xf1, 0x88, 0x91, 0x0f,
}
// TestNetGenesisMerkleRoot is the hash of the first transaction in the genesis
// block for the regression test network. It is the same as the merkle root for
// the main network.
var TestNetGenesisMerkleRoot ShaHash = GenesisMerkleRoot
// TestNetGenesisBlock defines the genesis block of the block chain which serves
// as the public transaction ledger for the regression test network.
var TestNetGenesisBlock MsgBlock = MsgBlock{
Header: BlockHeader{
Version: 1,
PrevBlock: ShaHash{}, // 0000000000000000000000000000000000000000000000000000000000000000
MerkleRoot: TestNetGenesisMerkleRoot, // 4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b
Timestamp: time.Unix(1296688602, 0), // 2011-02-02 23:16:42 +0000 UTC
Bits: 0x207fffff, // 545259519 [7fffff0000000000000000000000000000000000000000000000000000000000]
Nonce: 2,
TxnCount: 1,
},
Transactions: []*MsgTx{
&MsgTx{
Version: 1,
TxIn: []*TxIn{
&TxIn{
PreviousOutpoint: OutPoint{
Hash: ShaHash{},
Index: 0xffffffff,
},
SignatureScript: []byte{
0x04, 0xff, 0xff, 0x00, 0x1d, 0x01, 0x04, 0x45, /* |.......E| */
0x54, 0x68, 0x65, 0x20, 0x54, 0x69, 0x6d, 0x65, /* |The Time| */
0x73, 0x20, 0x30, 0x33, 0x2f, 0x4a, 0x61, 0x6e, /* |s 03/Jan| */
0x2f, 0x32, 0x30, 0x30, 0x39, 0x20, 0x43, 0x68, /* |/2009 Ch| */
0x61, 0x6e, 0x63, 0x65, 0x6c, 0x6c, 0x6f, 0x72, /* |ancellor| */
0x20, 0x6f, 0x6e, 0x20, 0x62, 0x72, 0x69, 0x6e, /* | on brin| */
0x6b, 0x20, 0x6f, 0x66, 0x20, 0x73, 0x65, 0x63, /* |k of sec|*/
0x6f, 0x6e, 0x64, 0x20, 0x62, 0x61, 0x69, 0x6c, /* |ond bail| */
0x6f, 0x75, 0x74, 0x20, 0x66, 0x6f, 0x72, 0x20, /* |out for |*/
0x62, 0x61, 0x6e, 0x6b, 0x73, /* |banks| */
},
Sequence: 0xffffffff,
},
},
TxOut: []*TxOut{
&TxOut{
Value: 0x12a05f200,
PkScript: []byte{
0x41, 0x04, 0x67, 0x8a, 0xfd, 0xb0, 0xfe, 0x55, /* |A.g....U| */
0x48, 0x27, 0x19, 0x67, 0xf1, 0xa6, 0x71, 0x30, /* |H'.g..q0| */
0xb7, 0x10, 0x5c, 0xd6, 0xa8, 0x28, 0xe0, 0x39, /* |..\..(.9| */
0x09, 0xa6, 0x79, 0x62, 0xe0, 0xea, 0x1f, 0x61, /* |..yb...a| */
0xde, 0xb6, 0x49, 0xf6, 0xbc, 0x3f, 0x4c, 0xef, /* |..I..?L.| */
0x38, 0xc4, 0xf3, 0x55, 0x04, 0xe5, 0x1e, 0xc1, /* |8..U....| */
0x12, 0xde, 0x5c, 0x38, 0x4d, 0xf7, 0xba, 0x0b, /* |..\8M...| */
0x8d, 0x57, 0x8a, 0x4c, 0x70, 0x2b, 0x6b, 0xf1, /* |.W.Lp+k.| */
0x1d, 0x5f, 0xac, /* |._.| */
},
},
},
LockTime: 0,
},
},
}