Official Go implementation of the Ethereum protocol
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
go-ethereum/core/genesis.go

53 lines
978 B

package core
11 years ago
import (
"math/big"
"github.com/ethereum/go-ethereum/crypto"
"github.com/ethereum/go-ethereum/ethutil"
11 years ago
)
/*
* 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{}{}))
10 years ago
var EmptyListRoot = crypto.Sha3(ethutil.Encode(""))
11 years ago
var GenesisHeader = []interface{}{
11 years ago
// Previous hash (none)
ZeroHash256,
10 years ago
// Empty uncles
EmptyShaList,
11 years ago
// Coinbase
ZeroHash160,
// Root state
EmptyShaList,
10 years ago
// tx root
EmptyListRoot,
// receipt root
EmptyListRoot,
// bloom
ZeroHash512,
11 years ago
// Difficulty
//ethutil.BigPow(2, 22),
10 years ago
big.NewInt(131072),
// Number
ethutil.Big0,
// Block upper gas bound
big.NewInt(1000000),
// Block gas used
ethutil.Big0,
11 years ago
// Time
ethutil.Big0,
11 years ago
// Extra
nil,
11 years ago
// Nonce
crypto.Sha3(big.NewInt(42).Bytes()),
11 years ago
}
var Genesis = []interface{}{GenesisHeader, []interface{}{}, []interface{}{}}