HotStuffRuntimeBootstrap

org.sigilaris.node.jvm.runtime.consensus.hotstuff.HotStuffRuntimeBootstrap
See theHotStuffRuntimeBootstrap companion class

Companion for HotStuffRuntimeBootstrap, providing full bootstrap from config or topology.

Attributes

Companion
class
Source
HotStuffRuntimeBootstrap.scala
Graph
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type

Members list

Type members

Inherited and Abstract types

type MirroredElemLabels <: Tuple

The names of the product elements

The names of the product elements

Attributes

Inherited from:
Mirror
Source
Mirror.scala
type MirroredLabel <: String

The name of the type

The name of the type

Attributes

Inherited from:
Mirror
Source
Mirror.scala

Value members

Concrete methods

def fromConfig[F[_] : Async : LiftIO](config: Config, clock: GossipClock[F], runtimePolicy: TxRuntimePolicy, handshakePolicy: HandshakePolicy, bootstrapTransport: Option[HotStuffBootstrapTransportServices[F]], storageLayout: StorageLayout, peerConfigPath: String, consensusConfigPath: String, proposalInputConfig: HotStuffProposalInputRuntimeConfig[F], proposalValidationConfig: HotStuffProposalValidationRuntimeConfig[F], txUniquenessConfig: HotStuffProposalTxUniquenessRuntimeConfig, pacemakerPolicy: HotStuffPacemakerPolicy, finalityDrivePolicy: HotStuffFinalityDrivePolicy, proposalDependencyConfig: HotStuffProposalApplicationDependencyRuntimeConfig[F]): Resource[F, Either[String, HotStuffRuntimeBootstrap[F]]]

Bootstraps the full HotStuff runtime from Typesafe Config.

Bootstraps the full HotStuff runtime from Typesafe Config.

Attributes

Source
HotStuffRuntimeBootstrap.scala
def fromConfigWithApplicationTopics[F[_] : Async : LiftIO, A : ByteEncoder](config: Config, clock: GossipClock[F], applicationTopics: Vector[ApplicationGossipTopic[F, A]], runtimePolicy: TxRuntimePolicy, handshakePolicy: HandshakePolicy, bootstrapTransport: Option[HotStuffBootstrapTransportServices[F]], storageLayout: StorageLayout, peerConfigPath: String, consensusConfigPath: String, proposalInputConfig: HotStuffProposalInputRuntimeConfig[F], proposalValidationConfig: HotStuffProposalValidationRuntimeConfig[F], txUniquenessConfig: HotStuffProposalTxUniquenessRuntimeConfig, pacemakerPolicy: HotStuffPacemakerPolicy, finalityDrivePolicy: HotStuffFinalityDrivePolicy, proposalDependencyConfig: HotStuffProposalApplicationDependencyRuntimeConfig[F]): Resource[F, Either[String, HotStuffRuntimeBootstrapWithApplications[F, A]]]

Bootstraps HotStuff plus embedder-owned application gossip topics from Typesafe Config.

Bootstraps HotStuff plus embedder-owned application gossip topics from Typesafe Config.

Attributes

Source
HotStuffRuntimeBootstrap.scala
def fromTopology[F[_] : Async : LiftIO](topology: StaticPeerTopology, transportAuth: StaticPeerTransportAuth, consensusConfig: HotStuffBootstrapConfig, clock: GossipClock[F], runtimePolicy: TxRuntimePolicy, handshakePolicy: HandshakePolicy, bootstrapTransport: Option[HotStuffBootstrapTransportServices[F]], storageLayout: StorageLayout, proposalInputConfig: HotStuffProposalInputRuntimeConfig[F], proposalValidationConfig: HotStuffProposalValidationRuntimeConfig[F], txUniquenessConfig: HotStuffProposalTxUniquenessRuntimeConfig, pacemakerPolicy: HotStuffPacemakerPolicy, finalityDrivePolicy: HotStuffFinalityDrivePolicy, proposalDependencyConfig: HotStuffProposalApplicationDependencyRuntimeConfig[F]): Resource[F, Either[String, HotStuffRuntimeBootstrap[F]]]

Bootstraps the full HotStuff runtime from an explicit peer topology and consensus config.

Bootstraps the full HotStuff runtime from an explicit peer topology and consensus config.

Attributes

Source
HotStuffRuntimeBootstrap.scala
def fromTopologyWithApplicationTopics[F[_] : Async : LiftIO, A : ByteEncoder](topology: StaticPeerTopology, transportAuth: StaticPeerTransportAuth, consensusConfig: HotStuffBootstrapConfig, clock: GossipClock[F], applicationTopics: Vector[ApplicationGossipTopic[F, A]], runtimePolicy: TxRuntimePolicy, handshakePolicy: HandshakePolicy, bootstrapTransport: Option[HotStuffBootstrapTransportServices[F]], storageLayout: StorageLayout, proposalInputConfig: HotStuffProposalInputRuntimeConfig[F], proposalValidationConfig: HotStuffProposalValidationRuntimeConfig[F], txUniquenessConfig: HotStuffProposalTxUniquenessRuntimeConfig, pacemakerPolicy: HotStuffPacemakerPolicy, finalityDrivePolicy: HotStuffFinalityDrivePolicy, proposalDependencyConfig: HotStuffProposalApplicationDependencyRuntimeConfig[F]): Resource[F, Either[String, HotStuffRuntimeBootstrapWithApplications[F, A]]]

Bootstraps HotStuff plus embedder-owned application gossip topics from an explicit peer topology and consensus config.

Bootstraps HotStuff plus embedder-owned application gossip topics from an explicit peer topology and consensus config.

Attributes

Source
HotStuffRuntimeBootstrap.scala
def proposalCatchUpReadinessFromBlockQuery[F[_] : Sync, TxRef : ByteEncoder : Hash, ResultRef : ByteEncoder, Event : ByteEncoder](validatorSet: ValidatorSet, knownTxIds: F[Set[StableArtifactId]], blockQuery: BlockQuery[F, TxRef, ResultRef, Event], txPolicy: TxRuntimePolicy, idempotencyKeyFor: Proposal => String)(classifyTx: TxRef => SchedulingClassification): ProposalCatchUpReadiness[F]

Creates a proposal catch-up readiness evaluator backed by a block query.

Creates a proposal catch-up readiness evaluator backed by a block query.

Attributes

Source
HotStuffRuntimeBootstrap.scala
def proposalControlIdempotencyKey(proposal: Proposal): String

Generates a UUID-formatted idempotency key from a proposal ID for control batch deduplication.

Generates a UUID-formatted idempotency key from a proposal ID for control batch deduplication.

Attributes

Source
HotStuffRuntimeBootstrap.scala

Concrete fields

The default transaction runtime policy for consensus proposals.

The default transaction runtime policy for consensus proposals.

Attributes

Source
HotStuffRuntimeBootstrap.scala