aboutsummaryrefslogtreecommitdiffstats
path: root/params
diff options
context:
space:
mode:
authorWei-Ning Huang <w@cobinhood.com>2018-09-03 13:42:13 +0800
committerWei-Ning Huang <w@dexon.org>2019-04-09 21:32:48 +0800
commit41fd54a53f30f860953d76c90056a9c867aa803f (patch)
tree954273035de9891af21c81f63de9865d83810e52 /params
parent14ae1246b789dd2a0a2bd22f0c7d3256daa26759 (diff)
downloaddexon-41fd54a53f30f860953d76c90056a9c867aa803f.tar
dexon-41fd54a53f30f860953d76c90056a9c867aa803f.tar.gz
dexon-41fd54a53f30f860953d76c90056a9c867aa803f.tar.bz2
dexon-41fd54a53f30f860953d76c90056a9c867aa803f.tar.lz
dexon-41fd54a53f30f860953d76c90056a9c867aa803f.tar.xz
dexon-41fd54a53f30f860953d76c90056a9c867aa803f.tar.zst
dexon-41fd54a53f30f860953d76c90056a9c867aa803f.zip
Add initial DEXON consensus engine implementation skeleton
Diffstat (limited to 'params')
-rw-r--r--params/config.go17
1 files changed, 14 insertions, 3 deletions
diff --git a/params/config.go b/params/config.go
index 254508c0a..3cf86e9be 100644
--- a/params/config.go
+++ b/params/config.go
@@ -142,16 +142,16 @@ var (
//
// This configuration is intentionally not using keyed fields to force anyone
// adding flags to the config to also have to set these fields.
- AllEthashProtocolChanges = &ChainConfig{big.NewInt(1337), big.NewInt(0), nil, false, big.NewInt(0), common.Hash{}, big.NewInt(0), big.NewInt(0), big.NewInt(0), big.NewInt(0), big.NewInt(0), nil, new(EthashConfig), nil}
+ AllEthashProtocolChanges = &ChainConfig{big.NewInt(1337), big.NewInt(0), nil, false, big.NewInt(0), common.Hash{}, big.NewInt(0), big.NewInt(0), big.NewInt(0), big.NewInt(0), big.NewInt(0), nil, new(EthashConfig), nil, nil}
// AllCliqueProtocolChanges contains every protocol change (EIPs) introduced
// and accepted by the Ethereum core developers into the Clique consensus.
//
// This configuration is intentionally not using keyed fields to force anyone
// adding flags to the config to also have to set these fields.
- AllCliqueProtocolChanges = &ChainConfig{big.NewInt(1337), big.NewInt(0), nil, false, big.NewInt(0), common.Hash{}, big.NewInt(0), big.NewInt(0), big.NewInt(0), big.NewInt(0), big.NewInt(0), nil, nil, &CliqueConfig{Period: 0, Epoch: 30000}}
+ AllCliqueProtocolChanges = &ChainConfig{big.NewInt(1337), big.NewInt(0), nil, false, big.NewInt(0), common.Hash{}, big.NewInt(0), big.NewInt(0), big.NewInt(0), big.NewInt(0), big.NewInt(0), nil, nil, &CliqueConfig{Period: 0, Epoch: 30000}, nil}
- TestChainConfig = &ChainConfig{big.NewInt(1), big.NewInt(0), nil, false, big.NewInt(0), common.Hash{}, big.NewInt(0), big.NewInt(0), big.NewInt(0), big.NewInt(0), big.NewInt(0), nil, new(EthashConfig), nil}
+ TestChainConfig = &ChainConfig{big.NewInt(1), big.NewInt(0), nil, false, big.NewInt(0), common.Hash{}, big.NewInt(0), big.NewInt(0), big.NewInt(0), big.NewInt(0), big.NewInt(0), nil, new(EthashConfig), nil, nil}
TestRules = TestChainConfig.Rules(new(big.Int))
)
@@ -195,6 +195,7 @@ type ChainConfig struct {
// Various consensus engines
Ethash *EthashConfig `json:"ethash,omitempty"`
Clique *CliqueConfig `json:"clique,omitempty"`
+ Dexcon *DexconConfig `json:"dexcon,omitempty"`
}
// EthashConfig is the consensus engine configs for proof-of-work based sealing.
@@ -216,6 +217,16 @@ func (c *CliqueConfig) String() string {
return "clique"
}
+// DexconConfig is the consensus engine configs for DEXON consensus.
+type DexconConfig struct {
+ GovernanceContractAddress string
+}
+
+// String implements the stringer interface, returning the consensus engine details.
+func (c *DexconConfig) String() string {
+ return "dexcon"
+}
+
// String implements the fmt.Stringer interface.
func (c *ChainConfig) String() string {
var engine interface{}