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) (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(conn proxy.AppConnSnapshot, connQuery proxy.AppConnQuery, tempDir string) *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.
type StateProvider ¶
type StateProvider interface { // AppHash returns the app hash after the given height has been committed. AppHash(height uint64) ([]byte, error) // Commit returns the commit at the given height. Commit(height uint64) (*types.Commit, error) // State returns a state object at the given height. State(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( 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.