core

package
v0.22.0-beta.0 Latest Latest
Warning

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

Go to latest
Published: Feb 3, 2025 License: Apache-2.0 Imports: 41 Imported by: 2

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DefaultTestConfig added in v0.6.2

func DefaultTestConfig() *testnode.Config

DefaultTestConfig returns the default testing configuration for Tendermint + Celestia App tandem.

It fetches free ports from OS and sets them into configs, s.t. user can make use of them(unlike 0 port) and allowing to run multiple tests nodes in parallel.

Additionally, it instructs Tendermint + Celestia App tandem to setup 10 funded accounts.

func StartTestNode added in v0.3.0

func StartTestNode(t *testing.T) testnode.Context

StartTestNode simply starts Tendermint and Celestia App tandem with default testing configuration.

func StartTestNodeWithConfig added in v0.6.2

func StartTestNodeWithConfig(t *testing.T, cfg *testnode.Config) testnode.Context

StartTestNodeWithConfig starts Tendermint and Celestia App tandem with custom configuration.

Types

type BlockFetcher

type BlockFetcher struct {
	// contains filtered or unexported fields
}

func NewBlockFetcher

func NewBlockFetcher(conn *grpc.ClientConn) (*BlockFetcher, error)

NewBlockFetcher returns a new `BlockFetcher`.

func (*BlockFetcher) Commit

func (f *BlockFetcher) Commit(ctx context.Context, height int64) (*types.Commit, error)

Commit queries Core for a `Commit` from the block at the given height. If the height is nil, use the latest height.

func (*BlockFetcher) GetBlock

func (f *BlockFetcher) GetBlock(ctx context.Context, height int64) (*SignedBlock, error)

GetBlock queries Core for a `Block` at the given height. if the height is nil, use the latest height

func (*BlockFetcher) GetBlockByHash

func (f *BlockFetcher) GetBlockByHash(ctx context.Context, hash libhead.Hash) (*types.Block, error)

func (*BlockFetcher) GetBlockInfo added in v0.2.0

func (f *BlockFetcher) GetBlockInfo(ctx context.Context, height int64) (*types.Commit, *types.ValidatorSet, error)

GetBlockInfo queries Core for additional block information, like Commit and ValidatorSet.

func (*BlockFetcher) GetSignedBlock added in v0.7.2

func (f *BlockFetcher) GetSignedBlock(ctx context.Context, height int64) (*SignedBlock, error)

GetSignedBlock queries Core for a `Block` at the given height. if the height is nil, use the latest height.

func (*BlockFetcher) IsSyncing added in v0.3.0

func (f *BlockFetcher) IsSyncing(ctx context.Context) (bool, error)

IsSyncing returns the sync status of the Core connection: true for syncing, and false for already caught up. It can also return an error in the case of a failed status request.

func (*BlockFetcher) Stop added in v0.21.5

func (f *BlockFetcher) Stop(ctx context.Context) error

Stop stops the block fetcher. The underlying gRPC connection needs to be stopped separately.

func (*BlockFetcher) SubscribeNewBlockEvent

func (f *BlockFetcher) SubscribeNewBlockEvent(ctx context.Context) (<-chan types.EventDataSignedBlock, error)

SubscribeNewBlockEvent subscribes to new block events from Core, returning a new block event channel on success.

func (*BlockFetcher) ValidatorSet

func (f *BlockFetcher) ValidatorSet(ctx context.Context, height int64) (*types.ValidatorSet, error)

ValidatorSet queries Core for the ValidatorSet from the block at the given height. If the height is nil, use the latest height.

type Exchange added in v0.6.3

type Exchange struct {
	// contains filtered or unexported fields
}

func NewExchange added in v0.6.3

func NewExchange(
	fetcher *BlockFetcher,
	store *store.Store,
	construct header.ConstructFn,
	opts ...Option,
) (*Exchange, error)

func (*Exchange) Get added in v0.6.3

func (ce *Exchange) Get(ctx context.Context, hash libhead.Hash) (*header.ExtendedHeader, error)

func (*Exchange) GetByHeight added in v0.6.3

func (ce *Exchange) GetByHeight(ctx context.Context, height uint64) (*header.ExtendedHeader, error)

func (*Exchange) GetRangeByHeight added in v0.6.3

func (ce *Exchange) GetRangeByHeight(
	ctx context.Context,
	from *header.ExtendedHeader,
	to uint64,
) ([]*header.ExtendedHeader, error)

func (*Exchange) Head added in v0.6.3

type Listener added in v0.6.3

type Listener struct {
	// contains filtered or unexported fields
}

Listener is responsible for listening to Core for new block events and converting new Core blocks into the main data structure used in the Celestia DA network: `ExtendedHeader`. After digesting the Core block, extending it, and generating the `ExtendedHeader`, the Listener broadcasts the new `ExtendedHeader` to the header-sub gossipsub network.

func NewListener added in v0.6.3

func NewListener(
	bcast libhead.Broadcaster[*header.ExtendedHeader],
	fetcher *BlockFetcher,
	hashBroadcaster shrexsub.BroadcastFn,
	construct header.ConstructFn,
	store *store.Store,
	blocktime time.Duration,
	opts ...Option,
) (*Listener, error)

func (*Listener) Start added in v0.6.3

func (cl *Listener) Start(context.Context) error

Start kicks off the Listener listener loop.

func (*Listener) Stop added in v0.6.3

func (cl *Listener) Stop(ctx context.Context) error

Stop stops the listener loop.

type Option added in v0.12.1

type Option func(*params)

func WithArchivalMode added in v0.21.5

func WithArchivalMode() Option

func WithAvailabilityWindow added in v0.14.0

func WithAvailabilityWindow(window time.Duration) Option

func WithChainID added in v0.13.0

func WithChainID(id p2p.Network) Option

func WithMetrics added in v0.12.1

func WithMetrics() Option

WithMetrics is a functional option that enables metrics inside the core package.

type SignedBlock added in v0.21.5

type SignedBlock struct {
	Header       *types.Header       `json:"header"`
	Commit       *types.Commit       `json:"commit"`
	Data         *types.Data         `json:"data"`
	ValidatorSet *types.ValidatorSet `json:"validator_set"`
}

Jump to

Keyboard shortcuts

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