Documentation ¶
Index ¶
- Constants
- type Reactor
- func (r *Reactor) AddPeer(peer p2p.Peer)
- func (r *Reactor) GetChannels() []*p2p.ChannelDescriptor
- func (r *Reactor) OnStart() error
- func (r *Reactor) Receive(chID byte, src p2p.Peer, msgBytes []byte)
- func (r *Reactor) RemovePeer(peer p2p.Peer, reason interface{})
- func (r *Reactor) Sync(stateProvider StateProvider, discoveryTime time.Duration) (sm.State, sm.State, *types.Commit, error)
- type StateProvider
Constants ¶
View Source
const ( // SnapshotChannel exchanges snapshot metadata SnapshotChannel = byte(0x60) // ChunkChannel exchanges chunk contents ChunkChannel = byte(0x61) )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Reactor ¶
type Reactor struct { p2p.BaseReactor // contains filtered or unexported fields }
Reactor handles state sync, both restoring snapshots for the local node and serving snapshots for other nodes.
func NewReactor ¶
func NewReactor( cfg config.StateSyncConfig, conn proxy.AppConnSnapshot, connQuery proxy.AppConnQuery, async bool, recvBufSize int, ) *Reactor
NewReactor creates a new state sync reactor.
func (*Reactor) GetChannels ¶
func (r *Reactor) GetChannels() []*p2p.ChannelDescriptor
GetChannels implements p2p.Reactor.
func (*Reactor) RemovePeer ¶
RemovePeer implements p2p.Reactor.
func (*Reactor) Sync ¶
func (r *Reactor) Sync( stateProvider StateProvider, discoveryTime time.Duration) (sm.State, sm.State, *types.Commit, error)
Sync runs a state sync, returning the new state, previous state and last commit at the snapshot height. The caller must store the state and commit in the state database and block store.
type StateProvider ¶
type StateProvider interface { // AppHash returns the app hash after the given height has been committed. AppHash(ctx context.Context, height uint64) ([]byte, error) // Commit returns the commit at the given height. Commit(ctx context.Context, height uint64) (*types.Commit, error) // State returns a state object at the given height. State(ctx context.Context, height uint64) (sm.State, error) }
StateProvider is a provider of trusted state data for bootstrapping a node. This refers to the state.State object, not the state machine.
func NewLightClientStateProvider ¶
func NewLightClientStateProvider( ctx context.Context, chainID string, version tmstate.Version, initialHeight int64, servers []string, trustOptions light.TrustOptions, logger log.Logger, ) (StateProvider, error)
NewLightClientStateProvider creates a new StateProvider using a light client and RPC clients.
Source Files ¶
Click to show internal directories.
Click to hide internal directories.