import (
"encoding/binary"
+ "fmt"
"github.com/vapor/protocol/bc"
)
ProducerSubsidys []ProducerSubsidy
}
-// VaporDPOSConfig return the dpos consensus config
-func VaporDPOSConfig() DPOSConfig {
- dpos := DPOSConfig{
- NumOfConsensusNode: 10,
- BlockNumEachNode: 12,
- MinConsensusNodeVoteNum: uint64(100000000000000),
- MinVoteOutputAmount: uint64(100000000),
- 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
DNSSeeds: []string{"www.mainnetseed.vapor.io"},
BasicConfig: BasicConfig{
MaxBlockGas: uint64(10000000),
- MaxGasAmount: int64(200000),
+ MaxGasAmount: int64(640000),
DefaultGasCredit: int64(160000),
StorageGasRate: int64(1),
VMGasRate: int64(200),
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: 15000000},
+ {BeginBlock: 1, EndBlock: 63072000, Subsidy: 9512938},
},
}
CoinbasePendingBlockNumber: uint64(1200),
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: 15000000},
CoinbasePendingBlockNumber: uint64(1200),
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: 0, EndBlock: 0, Subsidy: 24},
}
// BytomMainNetParams is the config for bytom mainnet
-var BytomMainNetParams = Params{
- Name: "main",
- Bech32HRPSegwit: "bm",
+func BytomMainNetParams(vaporParam *Params) *Params {
+ bech32HRPSegwit := "sm"
+ switch vaporParam.Name {
+ case "main":
+ bech32HRPSegwit = "bm"
+ case "test":
+ bech32HRPSegwit = "tm"
+ }
+ 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
}