github.com/dashpay/godash@v0.0.0-20160726055534-e038a21e0e3d/chaincfg/genesis.go (about)

     1  // Copyright (c) 2014 The btcsuite developers
     2  // Copyright (c) 2016 The Dash developers
     3  // Use of this source code is governed by an ISC
     4  // license that can be found in the LICENSE file.
     5  
     6  package chaincfg
     7  
     8  import (
     9  	"time"
    10  
    11  	"github.com/dashpay/godash/wire"
    12  )
    13  
    14  // genesisCoinbaseTx is the coinbase transaction for the genesis blocks for
    15  // the main network, regression test network, and test network (version 3).
    16  var genesisCoinbaseTx = wire.MsgTx{
    17  	Version: 1,
    18  	TxIn: []*wire.TxIn{
    19  		{
    20  			PreviousOutPoint: wire.OutPoint{
    21  				Hash:  wire.ShaHash{},
    22  				Index: 0xffffffff,
    23  			},
    24  			SignatureScript: []byte{
    25  				0x04, 0xff, 0xff, 0x00, 0x1d, 0x01, 0x04, 0x45, /* |.......E| */
    26  				0x54, 0x68, 0x65, 0x20, 0x54, 0x69, 0x6d, 0x65, /* |The Time| */
    27  				0x73, 0x20, 0x30, 0x33, 0x2f, 0x4a, 0x61, 0x6e, /* |s 03/Jan| */
    28  				0x2f, 0x32, 0x30, 0x30, 0x39, 0x20, 0x43, 0x68, /* |/2009 Ch| */
    29  				0x61, 0x6e, 0x63, 0x65, 0x6c, 0x6c, 0x6f, 0x72, /* |ancellor| */
    30  				0x20, 0x6f, 0x6e, 0x20, 0x62, 0x72, 0x69, 0x6e, /* | on brin| */
    31  				0x6b, 0x20, 0x6f, 0x66, 0x20, 0x73, 0x65, 0x63, /* |k of sec|*/
    32  				0x6f, 0x6e, 0x64, 0x20, 0x62, 0x61, 0x69, 0x6c, /* |ond bail| */
    33  				0x6f, 0x75, 0x74, 0x20, 0x66, 0x6f, 0x72, 0x20, /* |out for |*/
    34  				0x62, 0x61, 0x6e, 0x6b, 0x73, /* |banks| */
    35  			},
    36  			Sequence: 0xffffffff,
    37  		},
    38  	},
    39  	TxOut: []*wire.TxOut{
    40  		{
    41  			Value: 0x12a05f200,
    42  			PkScript: []byte{
    43  				0x41, 0x04, 0x67, 0x8a, 0xfd, 0xb0, 0xfe, 0x55, /* |A.g....U| */
    44  				0x48, 0x27, 0x19, 0x67, 0xf1, 0xa6, 0x71, 0x30, /* |H'.g..q0| */
    45  				0xb7, 0x10, 0x5c, 0xd6, 0xa8, 0x28, 0xe0, 0x39, /* |..\..(.9| */
    46  				0x09, 0xa6, 0x79, 0x62, 0xe0, 0xea, 0x1f, 0x61, /* |..yb...a| */
    47  				0xde, 0xb6, 0x49, 0xf6, 0xbc, 0x3f, 0x4c, 0xef, /* |..I..?L.| */
    48  				0x38, 0xc4, 0xf3, 0x55, 0x04, 0xe5, 0x1e, 0xc1, /* |8..U....| */
    49  				0x12, 0xde, 0x5c, 0x38, 0x4d, 0xf7, 0xba, 0x0b, /* |..\8M...| */
    50  				0x8d, 0x57, 0x8a, 0x4c, 0x70, 0x2b, 0x6b, 0xf1, /* |.W.Lp+k.| */
    51  				0x1d, 0x5f, 0xac, /* |._.| */
    52  			},
    53  		},
    54  	},
    55  	LockTime: 0,
    56  }
    57  
    58  // genesisHash is the hash of the first block in the block chain for the main
    59  // network (genesis block).
    60  var genesisHash = wire.ShaHash([wire.HashSize]byte{ // Make go vet happy.
    61  	0x6f, 0xe2, 0x8c, 0x0a, 0xb6, 0xf1, 0xb3, 0x72,
    62  	0xc1, 0xa6, 0xa2, 0x46, 0xae, 0x63, 0xf7, 0x4f,
    63  	0x93, 0x1e, 0x83, 0x65, 0xe1, 0x5a, 0x08, 0x9c,
    64  	0x68, 0xd6, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00,
    65  })
    66  
    67  // genesisMerkleRoot is the hash of the first transaction in the genesis block
    68  // for the main network.
    69  var genesisMerkleRoot = wire.ShaHash([wire.HashSize]byte{ // Make go vet happy.
    70  	0x3b, 0xa3, 0xed, 0xfd, 0x7a, 0x7b, 0x12, 0xb2,
    71  	0x7a, 0xc7, 0x2c, 0x3e, 0x67, 0x76, 0x8f, 0x61,
    72  	0x7f, 0xc8, 0x1b, 0xc3, 0x88, 0x8a, 0x51, 0x32,
    73  	0x3a, 0x9f, 0xb8, 0xaa, 0x4b, 0x1e, 0x5e, 0x4a,
    74  })
    75  
    76  // genesisBlock defines the genesis block of the block chain which serves as the
    77  // public transaction ledger for the main network.
    78  var genesisBlock = wire.MsgBlock{
    79  	Header: wire.BlockHeader{
    80  		Version:    1,
    81  		PrevBlock:  wire.ShaHash{},           // 0000000000000000000000000000000000000000000000000000000000000000
    82  		MerkleRoot: genesisMerkleRoot,        // 4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b
    83  		Timestamp:  time.Unix(0x495fab29, 0), // 2009-01-03 18:15:05 +0000 UTC
    84  		Bits:       0x1d00ffff,               // 486604799 [00000000ffff0000000000000000000000000000000000000000000000000000]
    85  		Nonce:      0x7c2bac1d,               // 2083236893
    86  	},
    87  	Transactions: []*wire.MsgTx{&genesisCoinbaseTx},
    88  }
    89  
    90  // regTestGenesisHash is the hash of the first block in the block chain for the
    91  // regression test network (genesis block).
    92  var regTestGenesisHash = wire.ShaHash([wire.HashSize]byte{ // Make go vet happy.
    93  	0x06, 0x22, 0x6e, 0x46, 0x11, 0x1a, 0x0b, 0x59,
    94  	0xca, 0xaf, 0x12, 0x60, 0x43, 0xeb, 0x5b, 0xbf,
    95  	0x28, 0xc3, 0x4f, 0x3a, 0x5e, 0x33, 0x2a, 0x1f,
    96  	0xc7, 0xb2, 0xb7, 0x3c, 0xf1, 0x88, 0x91, 0x0f,
    97  })
    98  
    99  // regTestGenesisMerkleRoot is the hash of the first transaction in the genesis
   100  // block for the regression test network.  It is the same as the merkle root for
   101  // the main network.
   102  var regTestGenesisMerkleRoot = genesisMerkleRoot
   103  
   104  // regTestGenesisBlock defines the genesis block of the block chain which serves
   105  // as the public transaction ledger for the regression test network.
   106  var regTestGenesisBlock = wire.MsgBlock{
   107  	Header: wire.BlockHeader{
   108  		Version:    1,
   109  		PrevBlock:  wire.ShaHash{},           // 0000000000000000000000000000000000000000000000000000000000000000
   110  		MerkleRoot: regTestGenesisMerkleRoot, // 4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b
   111  		Timestamp:  time.Unix(1296688602, 0), // 2011-02-02 23:16:42 +0000 UTC
   112  		Bits:       0x207fffff,               // 545259519 [7fffff0000000000000000000000000000000000000000000000000000000000]
   113  		Nonce:      2,
   114  	},
   115  	Transactions: []*wire.MsgTx{&genesisCoinbaseTx},
   116  }
   117  
   118  // testNet3GenesisHash is the hash of the first block in the block chain for the
   119  // test network (version 3).
   120  var testNet3GenesisHash = wire.ShaHash([wire.HashSize]byte{ // Make go vet happy.
   121  	0x43, 0x49, 0x7f, 0xd7, 0xf8, 0x26, 0x95, 0x71,
   122  	0x08, 0xf4, 0xa3, 0x0f, 0xd9, 0xce, 0xc3, 0xae,
   123  	0xba, 0x79, 0x97, 0x20, 0x84, 0xe9, 0x0e, 0xad,
   124  	0x01, 0xea, 0x33, 0x09, 0x00, 0x00, 0x00, 0x00,
   125  })
   126  
   127  // testNet3GenesisMerkleRoot is the hash of the first transaction in the genesis
   128  // block for the test network (version 3).  It is the same as the merkle root
   129  // for the main network.
   130  var testNet3GenesisMerkleRoot = genesisMerkleRoot
   131  
   132  // testNet3GenesisBlock defines the genesis block of the block chain which
   133  // serves as the public transaction ledger for the test network (version 3).
   134  var testNet3GenesisBlock = wire.MsgBlock{
   135  	Header: wire.BlockHeader{
   136  		Version:    1,
   137  		PrevBlock:  wire.ShaHash{},            // 0000000000000000000000000000000000000000000000000000000000000000
   138  		MerkleRoot: testNet3GenesisMerkleRoot, // 4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b
   139  		Timestamp:  time.Unix(1296688602, 0),  // 2011-02-02 23:16:42 +0000 UTC
   140  		Bits:       0x1d00ffff,                // 486604799 [00000000ffff0000000000000000000000000000000000000000000000000000]
   141  		Nonce:      0x18aea41a,                // 414098458
   142  	},
   143  	Transactions: []*wire.MsgTx{&genesisCoinbaseTx},
   144  }
   145  
   146  // simNetGenesisHash is the hash of the first block in the block chain for the
   147  // simulation test network.
   148  var simNetGenesisHash = wire.ShaHash([wire.HashSize]byte{ // Make go vet happy.
   149  	0xf6, 0x7a, 0xd7, 0x69, 0x5d, 0x9b, 0x66, 0x2a,
   150  	0x72, 0xff, 0x3d, 0x8e, 0xdb, 0xbb, 0x2d, 0xe0,
   151  	0xbf, 0xa6, 0x7b, 0x13, 0x97, 0x4b, 0xb9, 0x91,
   152  	0x0d, 0x11, 0x6d, 0x5c, 0xbd, 0x86, 0x3e, 0x68,
   153  })
   154  
   155  // simNetGenesisMerkleRoot is the hash of the first transaction in the genesis
   156  // block for the simulation test network.  It is the same as the merkle root for
   157  // the main network.
   158  var simNetGenesisMerkleRoot = genesisMerkleRoot
   159  
   160  // simNetGenesisBlock defines the genesis block of the block chain which serves
   161  // as the public transaction ledger for the simulation test network.
   162  var simNetGenesisBlock = wire.MsgBlock{
   163  	Header: wire.BlockHeader{
   164  		Version:    1,
   165  		PrevBlock:  wire.ShaHash{},           // 0000000000000000000000000000000000000000000000000000000000000000
   166  		MerkleRoot: simNetGenesisMerkleRoot,  // 4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b
   167  		Timestamp:  time.Unix(1401292357, 0), // 2014-05-28 15:52:37 +0000 UTC
   168  		Bits:       0x207fffff,               // 545259519 [7fffff0000000000000000000000000000000000000000000000000000000000]
   169  		Nonce:      2,
   170  	},
   171  	Transactions: []*wire.MsgTx{&genesisCoinbaseTx},
   172  }