aboutsummaryrefslogtreecommitdiffstats
path: root/core/genesis.go
blob: 707154759a08c6d157c31cd4d6916283e9fc202e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
package core

import (
    "math/big"

    "github.com/ethereum/go-ethereum/crypto"
    "github.com/ethereum/go-ethereum/ethutil"
)

/*
 * This is the special genesis block.
 */

var ZeroHash256 = make([]byte, 32)
var ZeroHash160 = make([]byte, 20)
var ZeroHash512 = make([]byte, 64)
var EmptyShaList = crypto.Sha3(ethutil.Encode([]interface{}{}))
var EmptyListRoot = crypto.Sha3(ethutil.Encode(""))

var GenesisHeader = []interface{}{
    // Previous hash (none)
    ZeroHash256,
    // Empty uncles
    EmptyShaList,
    // Coinbase
    ZeroHash160,
    // Root state
    EmptyShaList,
    // tx root
    EmptyListRoot,
    // receipt root
    EmptyListRoot,
    // bloom
    ZeroHash512,
    // Difficulty
    //ethutil.BigPow(2, 22),
    big.NewInt(131072),
    // Number
    ethutil.Big0,
    // Block upper gas bound
    big.NewInt(1000000),
    // Block gas used
    ethutil.Big0,
    // Time
    ethutil.Big0,
    // Extra
    nil,
    // Nonce
    crypto.Sha3(big.NewInt(42).Bytes()),
}

var Genesis = []interface{}{GenesisHeader, []interface{}{}, []interface{}{}}