run

package
v0.19.1 Latest Latest
Warning

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

Go to latest
Published: Jul 20, 2021 License: AGPL-3.0 Imports: 28 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, error)

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)

GenerateQCParticipantData generates QC participant data used to create the random beacon and staking signatures on the QC.

allNodes must be in the same order that was used when running the DKG.

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