OSDN Git Service

feat: add node discovery and status check (#374)
[bytom/vapor.git] / consensus / general.go
index 8ad509f..f3bab4e 100644 (file)
@@ -2,6 +2,7 @@ package consensus
 
 import (
        "encoding/binary"
+       "fmt"
 
        "github.com/vapor/protocol/bc"
 )
@@ -99,21 +100,6 @@ type Params struct {
        ProducerSubsidys []ProducerSubsidy
 }
 
-// VaporDPOSConfig return the dpos consensus config
-func VaporDPOSConfig() DPOSConfig {
-       dpos := DPOSConfig{
-               NumOfConsensusNode:      10,
-               BlockNumEachNode:        12,
-               MinConsensusNodeVoteNum: uint64(100000000000000),
-               MinVoteOutputAmount:     uint64(10000000000),
-               BlockTimeInterval:       500,
-       }
-
-       dpos.RoundVoteBlockNums = uint64(uint64(dpos.NumOfConsensusNode) * dpos.BlockNumEachNode * 10)
-       dpos.MaxTimeOffsetMs = uint64(uint64(dpos.BlockTimeInterval) * dpos.BlockNumEachNode / 3)
-       return dpos
-}
-
 // ActiveNetParams is the active NetParams
 var ActiveNetParams = MainNetParams
 
@@ -140,7 +126,15 @@ var MainNetParams = Params{
                CoinbasePendingBlockNumber: uint64(7200),
                CoinbaseArbitrarySizeLimit: 128,
        },
-       DPOSConfig:  VaporDPOSConfig(),
+       DPOSConfig: DPOSConfig{
+               NumOfConsensusNode:      10,
+               BlockNumEachNode:        12,
+               MinConsensusNodeVoteNum: uint64(100000000000000),
+               MinVoteOutputAmount:     uint64(100000000),
+               BlockTimeInterval:       500,
+               RoundVoteBlockNums:      1200,
+               MaxTimeOffsetMs:         2000,
+       },
        Checkpoints: []Checkpoint{},
        ProducerSubsidys: []ProducerSubsidy{
                {BeginBlock: 1, EndBlock: 63072000, Subsidy: 9512938},
@@ -232,3 +226,11 @@ func BytomMainNetParams(vaporParam *Params) *Params {
        }
        return &Params{Bech32HRPSegwit: bech32HRPSegwit}
 }
+
+func InitActiveNetParams(chainID string) error {
+       var exist bool
+       if ActiveNetParams, exist = NetParams[chainID]; !exist {
+               return fmt.Errorf("chain_id[%v] don't exist", chainID)
+       }
+       return nil
+}