run

package
v0.15.3-patch.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 7, 2021 License: AGPL-3.0 Imports: 25 Imported by: 2

Documentation

Overview

contains reusable logic that does not know about a CLI. Instead of exiting a program, functions here will return errors.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GenerateClusterRootQC

func GenerateClusterRootQC(participants []bootstrap.NodeInfo, clusterBlock *cluster.Block) (*flow.QuorumCertificate, error)

func GenerateExecutionState

func GenerateExecutionState(
	dbDir string,
	accountKey flow.AccountPublicKey,
	chain flow.Chain,
	bootstrapOptions ...fvm.BootstrapProcedureOption,
) (flow.StateCommitment, error)

NOTE: this is now unused and should become part of another tool.

func GenerateKeys

func GenerateKeys(algo crypto.SigningAlgorithm, n int, seeds [][]byte) ([]crypto.PrivateKey, error)

func GenerateNetworkingKey

func GenerateNetworkingKey(seed []byte) (crypto.PrivateKey, error)

func GenerateNetworkingKeys

func GenerateNetworkingKeys(n int, seeds [][]byte) ([]crypto.PrivateKey, error)

func GenerateRootBlock

func GenerateRootBlock(chainID flow.ChainID, parentID flow.Identifier, height uint64, timestamp time.Time) *flow.Block

func GenerateRootClusterBlocks

func GenerateRootClusterBlocks(epoch uint64, clusters flow.ClusterList) []*cluster.Block

func GenerateRootQC

func GenerateRootQC(block *flow.Block, participantData *ParticipantData) (*flow.QuorumCertificate, error)

func GenerateRootResult

func GenerateRootResult(
	block *flow.Block,
	commit flow.StateCommitment,
	epochSetup *flow.EpochSetup,
	epochCommit *flow.EpochCommit,
) *flow.ExecutionResult

func GenerateRootSeal

func GenerateRootSeal(result *flow.ExecutionResult) *flow.Seal

func GenerateServiceAccountPrivateKey

func GenerateServiceAccountPrivateKey(seed []byte) (flow.AccountPrivateKey, error)

NOTE: this is now unused and should become part of another tool.

func GenerateStakingKey

func GenerateStakingKey(seed []byte) (crypto.PrivateKey, error)

func GenerateStakingKeys

func GenerateStakingKeys(n int, seeds [][]byte) ([]crypto.PrivateKey, error)

func RunDKG

func RunDKG(n int, seeds [][]byte) (model.DKGData, error)

RunDKG simulates a distributed DKG protocol by running the protocol locally and generating the DKG output info

func RunFastKG

func RunFastKG(n int, seed []byte) (model.DKGData, error)

RunFastKG is an alternative to RunDKG that runs much faster by using a centralized threshold signature key generation.

Types

type Participant

type Participant struct {
	bootstrap.NodeInfo
	RandomBeaconPrivKey crypto.PrivateKey
}

type ParticipantData

type ParticipantData struct {
	Participants []Participant
	Lookup       map[flow.Identifier]flow.DKGParticipant
	GroupKey     crypto.PublicKey
}

func GenerateQCParticipantData

func GenerateQCParticipantData(allNodes, internalNodes []bootstrap.NodeInfo, dkgData bootstrap.DKGData) (*ParticipantData, error)

func (*ParticipantData) Identities

func (pd *ParticipantData) Identities() flow.IdentityList

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL