func DefaultValidatorParams() ValidatorParams {
	return ValidatorParams{
		PubKeyTypes: []string{ABCIPubKeyTypeEd25519},
	}
}
DefaultValidatorParams returns a default ValidatorParams, which allows
only ed25519 pubkeys.
package types
import (
	"errors"
	"fmt"
	"time"
	"github.com/tendermint/tendermint/crypto/ed25519"
	"github.com/tendermint/tendermint/crypto/secp256k1"
	"github.com/tendermint/tendermint/crypto/sr25519"
	"github.com/tendermint/tendermint/crypto/tmhash"
	tmstrings "github.com/tendermint/tendermint/libs/strings"
	tmproto "github.com/tendermint/tendermint/proto/tendermint/types"
)
const (
	MaxBlockSizeBytes = 104857600  
	BlockPartSizeBytes uint32 = 65536  
	MaxBlockPartsCount = (MaxBlockSizeBytes / BlockPartSizeBytes) + 1
	ABCIPubKeyTypeEd25519   = ed25519.KeyType
	ABCIPubKeyTypeSecp256k1 = secp256k1.KeyType
	ABCIPubKeyTypeSr25519   = sr25519.KeyType
)
var ABCIPubKeyTypesToNames = map[string]string{
	ABCIPubKeyTypeEd25519:   ed25519.PubKeyName,
	ABCIPubKeyTypeSecp256k1: secp256k1.PubKeyName,
	ABCIPubKeyTypeSr25519:   sr25519.PubKeyName,
}
type ConsensusParams struct {
	Block     BlockParams     `json:"block"`
	Evidence  EvidenceParams  `json:"evidence"`
	Validator ValidatorParams `json:"validator"`
	Version   VersionParams   `json:"version"`
}
type HashedParams struct {
	BlockMaxBytes int64
	BlockMaxGas   int64
}
type BlockParams struct {
	MaxBytes int64 `json:"max_bytes"`
	MaxGas   int64 `json:"max_gas"`
}
type EvidenceParams struct {
	MaxAgeNumBlocks int64         `json:"max_age_num_blocks"`  
	MaxAgeDuration  time.Duration `json:"max_age_duration"`
	MaxBytes        int64         `json:"max_bytes"`
}
type ValidatorParams struct {
	PubKeyTypes []string `json:"pub_key_types"`
}
type VersionParams struct {
	AppVersion uint64 `json:"app_version"`
}
func DefaultConsensusParams() *ConsensusParams {
	return &ConsensusParams{
		Block:     DefaultBlockParams(),
		Evidence:  DefaultEvidenceParams(),
		Validator: DefaultValidatorParams(),
		Version:   DefaultVersionParams(),
	}
}
func DefaultBlockParams() BlockParams {
	return BlockParams{
		MaxBytes: 22020096,  
		MaxGas:   -1,
	}
}
func DefaultEvidenceParams() EvidenceParams {
	return EvidenceParams{
		MaxAgeNumBlocks: 100000,  
		MaxAgeDuration:  48 * time.Hour,
		MaxBytes:        1048576,  
	}
}