genesistohex_test.go raw

   1  package parameters
   2  
   3  import (
   4  	"encoding/hex"
   5  	"fmt"
   6  	"testing"
   7  )
   8  
   9  var (
  10  	mainnetGenesisHash, _     = hex.DecodeString(`000009f0fcbad3aac904d3660cfdcf238bf298cfe73adf1d39d14fc5c740ccc7`)
  11  	mainnetGenesisBlock, _    = hex.DecodeString(`020000000000000000000000000000000000000000000000000000000000000000000000b79a9b6f31a9d7d25a1c4b0ec7a671dc56ce7663c380f2d2513a8e65e4ea43c8dcecc953ffff0f1e810201000101000000010000000000000000000000000000000000000000000000000000000000000000ffffffff3a04ffff001d0104324e5954696d657320323031342d30372d3139202d2044656c6c20426567696e7320416363657074696e6720426974636f696effffffff0100e8764817000000434104e0d27172510c6806889740edafe6e63eb23fca32786fccfdb282bb2876a9f43b228245df057661ff943f6150716a20ea1851e8a7e9f54e620297664618438daeac00000000`)
  12  	testnetGenesisHash, _     = hex.DecodeString(`00000e41ecbaa35ef91b0c2c22ed4d85fa12bbc87da2668fe17572695fb30cdf`)
  13  	testnetGenesisBlock, _    = hex.DecodeString(`020000000000000000000000000000000000000000000000000000000000000000000000b79a9b6f31a9d7d25a1c4b0ec7a671dc56ce7663c380f2d2513a8e65e4ea43c884eac953ffff0f1e18df1a000101000000010000000000000000000000000000000000000000000000000000000000000000ffffffff3a04ffff001d0104324e5954696d657320323031342d30372d3139202d2044656c6c20426567696e7320416363657074696e6720426974636f696effffffff0100e8764817000000434104e0d27172510c6806889740edafe6e63eb23fca32786fccfdb282bb2876a9f43b228245df057661ff943f6150716a20ea1851e8a7e9f54e620297664618438daeac00000000`)
  14  	regtestnetGenesisHash, _  = hex.DecodeString(`69e9b79e220ea183dc2a52c825667e486bba65e2f64d237b578559ab60379181`)
  15  	regtestnetGenesisBlock, _ = hex.DecodeString(`020000000000000000000000000000000000000000000000000000000000000000000000b79a9b6f31a9d7d25a1c4b0ec7a671dc56ce7663c380f2d2513a8e65e4ea43c8d4e5c953ffff7f20010000000101000000010000000000000000000000000000000000000000000000000000000000000000ffffffff3a04ffff001d0104324e5954696d657320323031342d30372d3139202d2044656c6c20426567696e7320416363657074696e6720426974636f696effffffff0100e8764817000000434104e0d27172510c6806889740edafe6e63eb23fca32786fccfdb282bb2876a9f43b228245df057661ff943f6150716a20ea1851e8a7e9f54e620297664618438daeac00000000`)
  16  )
  17  
  18  func TestGenesisToHex(t *testing.T) {
  19  	printByteAssignments("mainnetGenesisHash", *rev(mainnetGenesisHash))
  20  	printByteAssignments("mainnetGenesisBlock", mainnetGenesisBlock)
  21  	printByteAssignments("testnetGenesisHash", *rev(testnetGenesisHash))
  22  	printByteAssignments("testnetGenesisBlock", testnetGenesisBlock)
  23  	printByteAssignments("regtestnetGenesisHash", *rev(regtestnetGenesisHash))
  24  	printByteAssignments("regtestnetGenesisBlock", regtestnetGenesisBlock)
  25  }
  26  func printByteAssignments(name string, in []byte) {
  27  	fmt.Print(name, "=[]byte{\n")
  28  	printGoHexes(in)
  29  	fmt.Print("}\n")
  30  }
  31  func printGoHexes(in []byte) {
  32  	fmt.Print("\t")
  33  	for i := range in {
  34  		if i%8 == 0 && i != 0 {
  35  			fmt.Print("\n\t")
  36  		}
  37  		fmt.Printf("0x%02x, ", in[i])
  38  	}
  39  	fmt.Println()
  40  }
  41  func rev(in []byte) (out *[]byte) {
  42  	o := make([]byte, len(in))
  43  	out = &o
  44  	for i := range in {
  45  		(*out)[len(in)-i-1] = in[i]
  46  	}
  47  	return
  48  }
  49  
  50  // func hx(// 	in []byte) string {
  51  // 	return hex.EncodeToString(in)
  52  // }
  53  // func split(// 	in []byte, pos int) (out []byte, piece []byte) {
  54  // 	out = in[pos:]
  55  // 	piece = in[:pos]
  56  // 	return
  57  // }
  58