2014-02-14 16:56:09 -06:00
|
|
|
package ethchain
|
|
|
|
|
|
|
|
import (
|
2014-06-29 12:30:05 -05:00
|
|
|
"github.com/ethereum/eth-go/ethcrypto"
|
2014-02-14 16:56:09 -06:00
|
|
|
"github.com/ethereum/eth-go/ethutil"
|
|
|
|
"math/big"
|
|
|
|
)
|
|
|
|
|
|
|
|
/*
|
|
|
|
* This is the special genesis block.
|
|
|
|
*/
|
|
|
|
|
|
|
|
var ZeroHash256 = make([]byte, 32)
|
|
|
|
var ZeroHash160 = make([]byte, 20)
|
2014-06-29 12:30:05 -05:00
|
|
|
var EmptyShaList = ethcrypto.Sha3Bin(ethutil.Encode([]interface{}{}))
|
2014-02-14 16:56:09 -06:00
|
|
|
|
2014-02-18 09:40:58 -06:00
|
|
|
var GenesisHeader = []interface{}{
|
2014-02-14 16:56:09 -06:00
|
|
|
// Previous hash (none)
|
|
|
|
ZeroHash256,
|
|
|
|
// Sha of uncles
|
2014-06-29 12:30:05 -05:00
|
|
|
ethcrypto.Sha3Bin(ethutil.Encode([]interface{}{})),
|
2014-02-14 16:56:09 -06:00
|
|
|
// Coinbase
|
|
|
|
ZeroHash160,
|
|
|
|
// Root state
|
|
|
|
"",
|
2014-05-20 08:02:46 -05:00
|
|
|
// tx sha
|
2014-05-22 10:35:26 -05:00
|
|
|
"",
|
2014-02-14 16:56:09 -06:00
|
|
|
// Difficulty
|
|
|
|
ethutil.BigPow(2, 22),
|
2014-05-20 07:29:52 -05:00
|
|
|
// Number
|
|
|
|
ethutil.Big0,
|
|
|
|
// Block minimum gas price
|
|
|
|
ethutil.Big0,
|
|
|
|
// Block upper gas bound
|
|
|
|
big.NewInt(1000000),
|
|
|
|
// Block gas used
|
|
|
|
ethutil.Big0,
|
2014-02-14 16:56:09 -06:00
|
|
|
// Time
|
2014-05-20 07:29:52 -05:00
|
|
|
ethutil.Big0,
|
2014-02-14 16:56:09 -06:00
|
|
|
// Extra
|
2014-05-20 07:29:52 -05:00
|
|
|
nil,
|
2014-02-14 16:56:09 -06:00
|
|
|
// Nonce
|
2014-06-29 12:30:05 -05:00
|
|
|
ethcrypto.Sha3Bin(big.NewInt(42).Bytes()),
|
2014-02-14 16:56:09 -06:00
|
|
|
}
|
|
|
|
|
2014-02-18 09:40:58 -06:00
|
|
|
var Genesis = []interface{}{GenesisHeader, []interface{}{}, []interface{}{}}
|