github.com/number571/tendermint@v0.34.11-gost/internal/test/factory/genesis.go (about)

     1  package factory
     2  
     3  import (
     4  	"sort"
     5  
     6  	cfg "github.com/number571/tendermint/config"
     7  	tmtime "github.com/number571/tendermint/libs/time"
     8  	"github.com/number571/tendermint/types"
     9  )
    10  
    11  func RandGenesisDoc(
    12  	config *cfg.Config,
    13  	numValidators int,
    14  	randPower bool,
    15  	minPower int64) (*types.GenesisDoc, []types.PrivValidator) {
    16  
    17  	validators := make([]types.GenesisValidator, numValidators)
    18  	privValidators := make([]types.PrivValidator, numValidators)
    19  	for i := 0; i < numValidators; i++ {
    20  		val, privVal := RandValidator(randPower, minPower)
    21  		validators[i] = types.GenesisValidator{
    22  			PubKey: val.PubKey,
    23  			Power:  val.VotingPower,
    24  		}
    25  		privValidators[i] = privVal
    26  	}
    27  	sort.Sort(types.PrivValidatorsByAddress(privValidators))
    28  
    29  	return &types.GenesisDoc{
    30  		GenesisTime:   tmtime.Now(),
    31  		InitialHeight: 1,
    32  		ChainID:       config.ChainID(),
    33  		Validators:    validators,
    34  	}, privValidators
    35  }