diff options
author | Wei-Ning Huang <w@cobinhood.com> | 2018-10-13 16:48:50 +0800 |
---|---|---|
committer | Wei-Ning Huang <w@byzantine-lab.io> | 2019-06-12 17:23:39 +0800 |
commit | 8250fd5357e8a9c4b634cf289489ce2c4ec3470c (patch) | |
tree | 3ce13f606486f0032b17579397551cafb2af5191 | |
parent | 3ac89bf83d2d65a5410692e0fe664a1a7c079055 (diff) | |
download | go-tangerine-8250fd5357e8a9c4b634cf289489ce2c4ec3470c.tar go-tangerine-8250fd5357e8a9c4b634cf289489ce2c4ec3470c.tar.gz go-tangerine-8250fd5357e8a9c4b634cf289489ce2c4ec3470c.tar.bz2 go-tangerine-8250fd5357e8a9c4b634cf289489ce2c4ec3470c.tar.lz go-tangerine-8250fd5357e8a9c4b634cf289489ce2c4ec3470c.tar.xz go-tangerine-8250fd5357e8a9c4b634cf289489ce2c4ec3470c.tar.zst go-tangerine-8250fd5357e8a9c4b634cf289489ce2c4ec3470c.zip |
core: populate genesis CRS in genesis state
-rw-r--r-- | core/genesis.go | 5 | ||||
-rw-r--r-- | misc/genesis.json | 1 | ||||
-rw-r--r-- | params/config.go | 4 |
3 files changed, 9 insertions, 1 deletions
diff --git a/core/genesis.go b/core/genesis.go index 043a9f428..04da8960c 100644 --- a/core/genesis.go +++ b/core/genesis.go @@ -32,6 +32,7 @@ import ( "github.com/dexon-foundation/dexon/core/state" "github.com/dexon-foundation/dexon/core/types" "github.com/dexon-foundation/dexon/core/vm" + "github.com/dexon-foundation/dexon/crypto" "github.com/dexon-foundation/dexon/ethdb" "github.com/dexon-foundation/dexon/log" "github.com/dexon-foundation/dexon/params" @@ -253,6 +254,10 @@ func (g *Genesis) ToBlock(db ethdb.Database) *types.Block { // Governance configuration. govStateHelper.UpdateConfiguration(g.Config.Dexcon) + // Genesis CRS. + crs := crypto.Keccak256([]byte(g.Config.Dexcon.GenesisCRSText)) + govStateHelper.PushCRS(common.BytesToHash(crs)) + root := statedb.IntermediateRoot(false) head := &types.Header{ Number: new(big.Int).SetUint64(g.Number), diff --git a/misc/genesis.json b/misc/genesis.json index 36284b6b7..d2b1d2b7e 100644 --- a/misc/genesis.json +++ b/misc/genesis.json @@ -7,6 +7,7 @@ "eip155Block": 3, "eip158Block": 3, "dexcon": { + "genesisCRSText": "In DEXON, we trust.", "numChain": 4, "lambdaBA": 250, "lambdaDKG": 2500, diff --git a/params/config.go b/params/config.go index 1b3b39b29..1ea2ab3d2 100644 --- a/params/config.go +++ b/params/config.go @@ -228,6 +228,7 @@ func (c *CliqueConfig) String() string { // DexconConfig is the consensus engine configs for DEXON consensus. type DexconConfig struct { + GenesisCRSText string `json:"genesisCRSText"` NumChains uint32 `json:"numChains"` LambdaBA uint64 `json:"lambdaBA"` LambdaDKG uint64 `json:"lambdaDKG"` @@ -242,7 +243,8 @@ type DexconConfig struct { // String implements the stringer interface, returning the consensus engine details. func (d *DexconConfig) String() string { - return fmt.Sprintf("{NumChains: %v LambdaBA: %v LambdaDKG: %v K: %v PhiRatio: %v NotarySetSize: %v DKGSetSize: %v RoundInterval: %v MinBlockInterval: %v MaxBlockInterval: %v", + return fmt.Sprintf("{GenesisCRSText: %v NumChains: %v LambdaBA: %v LambdaDKG: %v K: %v PhiRatio: %v NotarySetSize: %v DKGSetSize: %v RoundInterval: %v MinBlockInterval: %v MaxBlockInterval: %v", + d.GenesisCRSText, d.NumChains, d.LambdaBA, d.LambdaDKG, |