core

package
v0.21.1-arabica Latest Latest
Warning

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

Go to latest
Published: Jan 20, 2025 License: Apache-2.0 Imports: 39 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(client Client) *BlockFetcher

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.

func (*BlockFetcher) GetBlock

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

GetBlock queries Core for a `Block` at the given 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) (*coretypes.ResultSignedBlock, error)

GetSignedBlock queries Core for a `Block` at the given 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) 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) UnsubscribeNewBlockEvent

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

UnsubscribeNewBlockEvent stops the subscription to new block events from Core.

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.

type Client

type Client = client.Client

Client is an alias to Core Client.

func NewRemote

func NewRemote(ip, port string) (Client, error)

NewRemote creates a new Client that communicates with a remote Core endpoint over HTTP.

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

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.

Jump to

Keyboard shortcuts

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