diff options
author | Wei-Ning Huang <w@cobinhood.com> | 2018-10-13 16:48:50 +0800 |
---|---|---|
committer | Wei-Ning Huang <w@dexon.org> | 2019-04-09 21:32:49 +0800 |
commit | cdf1f022696971d9d6209d577ed0b578e7462007 (patch) | |
tree | 3d88cc5befb29d3c64fb3607adbeb01ff43d32eb | |
parent | 7574700a4ccd20bc15c3ba28f1671eb66769e8bc (diff) | |
download | dexon-cdf1f022696971d9d6209d577ed0b578e7462007.tar.gz dexon-cdf1f022696971d9d6209d577ed0b578e7462007.tar.zst dexon-cdf1f022696971d9d6209d577ed0b578e7462007.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 0c64fb6bf..0ccc2fbc8 100644 --- a/params/config.go +++ b/params/config.go @@ -219,6 +219,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"` @@ -233,7 +234,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, |