2014-02-15 00:56:09 +02:00
|
|
|
package ethchain
|
|
|
|
|
|
|
|
import (
|
2014-08-21 15:47:58 +03:00
|
|
|
"math/big"
|
|
|
|
|
2014-10-23 16:01:27 +03:00
|
|
|
"github.com/ethereum/go-ethereum/ethcrypto"
|
|
|
|
"github.com/ethereum/go-ethereum/ethutil"
|
2014-02-15 00:56:09 +02:00
|
|
|
)
|
|
|
|
|
|
|
|
/*
|
|
|
|
* This is the special genesis block.
|
|
|
|
*/
|
|
|
|
|
|
|
|
var ZeroHash256 = make([]byte, 32)
|
|
|
|
var ZeroHash160 = make([]byte, 20)
|
2014-10-29 11:34:40 +02:00
|
|
|
var ZeroHash512 = make([]byte, 64)
|
2014-10-08 13:06:39 +03:00
|
|
|
var EmptyShaList = ethcrypto.Sha3(ethutil.Encode([]interface{}{}))
|
2014-02-15 00:56:09 +02:00
|
|
|
|
2014-02-18 17:40:58 +02:00
|
|
|
var GenesisHeader = []interface{}{
|
2014-02-15 00:56:09 +02:00
|
|
|
// Previous hash (none)
|
|
|
|
ZeroHash256,
|
2014-10-21 14:25:31 +03:00
|
|
|
// Empty uncles
|
2014-10-29 11:34:40 +02:00
|
|
|
EmptyShaList,
|
2014-02-15 00:56:09 +02:00
|
|
|
// Coinbase
|
|
|
|
ZeroHash160,
|
|
|
|
// Root state
|
2014-10-29 11:34:40 +02:00
|
|
|
EmptyShaList,
|
2014-05-20 16:02:46 +03:00
|
|
|
// tx sha
|
2014-10-29 11:34:40 +02:00
|
|
|
EmptyShaList,
|
|
|
|
// receipt list
|
|
|
|
EmptyShaList,
|
|
|
|
// bloom
|
|
|
|
ZeroHash512,
|
2014-02-15 00:56:09 +02:00
|
|
|
// Difficulty
|
2014-08-21 15:47:58 +03:00
|
|
|
//ethutil.BigPow(2, 22),
|
2014-08-21 21:13:26 +03:00
|
|
|
big.NewInt(131072),
|
2014-05-20 15:29:52 +03:00
|
|
|
// Number
|
|
|
|
ethutil.Big0,
|
|
|
|
// Block minimum gas price
|
|
|
|
ethutil.Big0,
|
|
|
|
// Block upper gas bound
|
|
|
|
big.NewInt(1000000),
|
|
|
|
// Block gas used
|
|
|
|
ethutil.Big0,
|
2014-02-15 00:56:09 +02:00
|
|
|
// Time
|
2014-05-20 15:29:52 +03:00
|
|
|
ethutil.Big0,
|
2014-02-15 00:56:09 +02:00
|
|
|
// Extra
|
2014-05-20 15:29:52 +03:00
|
|
|
nil,
|
2014-02-15 00:56:09 +02:00
|
|
|
// Nonce
|
2014-10-08 13:06:39 +03:00
|
|
|
ethcrypto.Sha3(big.NewInt(42).Bytes()),
|
2014-02-15 00:56:09 +02:00
|
|
|
}
|
|
|
|
|
2014-02-18 17:40:58 +02:00
|
|
|
var Genesis = []interface{}{GenesisHeader, []interface{}{}, []interface{}{}}
|