aboutsummaryrefslogtreecommitdiffstats
path: root/core/genesis.go
diff options
context:
space:
mode:
authorobscuren <geffobscura@gmail.com>2014-12-04 17:28:02 +0800
committerobscuren <geffobscura@gmail.com>2014-12-04 17:28:02 +0800
commit9008b155d3c8d2a32c4c8945f1174243d48d4e90 (patch)
treea55140b7d4802a0db14cbc265b8ca21d44d6f10a /core/genesis.go
parentb6cb5272de96185b424d5c6c4a817d99f536d29b (diff)
downloaddexon-9008b155d3c8d2a32c4c8945f1174243d48d4e90.tar
dexon-9008b155d3c8d2a32c4c8945f1174243d48d4e90.tar.gz
dexon-9008b155d3c8d2a32c4c8945f1174243d48d4e90.tar.bz2
dexon-9008b155d3c8d2a32c4c8945f1174243d48d4e90.tar.lz
dexon-9008b155d3c8d2a32c4c8945f1174243d48d4e90.tar.xz
dexon-9008b155d3c8d2a32c4c8945f1174243d48d4e90.tar.zst
dexon-9008b155d3c8d2a32c4c8945f1174243d48d4e90.zip
Renamed `chain` => `core`
Diffstat (limited to 'core/genesis.go')
-rw-r--r--core/genesis.go52
1 files changed, 52 insertions, 0 deletions
diff --git a/core/genesis.go b/core/genesis.go
new file mode 100644
index 000000000..707154759
--- /dev/null
+++ b/core/genesis.go
@@ -0,0 +1,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{}{}}