chain

package
v0.2.5 Latest Latest
Warning

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

Go to latest
Published: Jan 19, 2020 License: Apache-2.0, MIT Imports: 35 Imported by: 7

Documentation

Index

Constants

View Source
const (
	BSStateInit      = 0
	BSStateSelected  = 1
	BSStateScheduled = 2
	BSStateComplete  = 3
)
View Source
const BootstrapPeerThreshold = 2

Variables

View Source
var ErrForkTooLong = fmt.Errorf("fork longer than threshold")
View Source
var ErrTemporal = errors.New("temporal error")
View Source
var LocalIncoming = "incoming"

Functions

func SyncStageString

func SyncStageString(v api.SyncStateStage) string

func VerifyElectionPoStVRF

func VerifyElectionPoStVRF(ctx context.Context, evrf []byte, rand []byte, worker, miner address.Address) error

Types

type BadBlockCache

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

func NewBadBlockCache

func NewBadBlockCache() *BadBlockCache

func (*BadBlockCache) Add

func (bts *BadBlockCache) Add(c cid.Cid)

func (*BadBlockCache) Has

func (bts *BadBlockCache) Has(c cid.Cid) bool

type SyncFunc

type SyncFunc func(context.Context, *types.TipSet) error

type SyncManager

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

func NewSyncManager

func NewSyncManager(sync SyncFunc) *SyncManager

func (*SyncManager) IsBootstrapped

func (sm *SyncManager) IsBootstrapped() bool

func (*SyncManager) SetPeerHead

func (sm *SyncManager) SetPeerHead(ctx context.Context, p peer.ID, ts *types.TipSet)

func (*SyncManager) Start

func (sm *SyncManager) Start()

func (*SyncManager) Stop

func (sm *SyncManager) Stop()

type Syncer

type Syncer struct {

	// The known Genesis tipset
	Genesis *types.TipSet

	// handle to the block sync service
	Bsync *blocksync.BlockSync
	// contains filtered or unexported fields
}

func NewSyncer

func NewSyncer(sm *stmgr.StateManager, bsync *blocksync.BlockSync, connmgr connmgr.ConnManager, self peer.ID) (*Syncer, error)

func (*Syncer) ChainStore

func (syncer *Syncer) ChainStore() *store.ChainStore

func (*Syncer) FetchTipSet

func (syncer *Syncer) FetchTipSet(ctx context.Context, p peer.ID, tsk types.TipSetKey) (*store.FullTipSet, error)

func (*Syncer) IncomingBlocks

func (syncer *Syncer) IncomingBlocks(ctx context.Context) (<-chan *types.BlockHeader, error)

func (*Syncer) InformNewBlock

func (syncer *Syncer) InformNewBlock(from peer.ID, blk *types.FullBlock) bool

func (*Syncer) InformNewHead

func (syncer *Syncer) InformNewHead(from peer.ID, fts *store.FullTipSet) bool

InformNewHead informs the syncer about a new potential tipset This should be called when connecting to new peers, and additionally when receiving new blocks from the network

func (*Syncer) LocalPeer

func (syncer *Syncer) LocalPeer() peer.ID

func (*Syncer) MarkBad added in v0.1.6

func (syncer *Syncer) MarkBad(blk cid.Cid)

func (*Syncer) Start

func (syncer *Syncer) Start()

func (*Syncer) State

func (syncer *Syncer) State() []SyncerState

func (*Syncer) Stop

func (syncer *Syncer) Stop()

func (*Syncer) Sync

func (syncer *Syncer) Sync(ctx context.Context, maybeHead *types.TipSet) error

func (*Syncer) ValidateBlock

func (syncer *Syncer) ValidateBlock(ctx context.Context, b *types.FullBlock) error

Should match up with 'Semantical Validation' in validation.md in the spec

func (*Syncer) ValidateMsgMeta

func (syncer *Syncer) ValidateMsgMeta(fblk *types.FullBlock) error

func (*Syncer) ValidateTipSet

func (syncer *Syncer) ValidateTipSet(ctx context.Context, fts *store.FullTipSet) error

func (*Syncer) VerifyElectionPoStProof

func (syncer *Syncer) VerifyElectionPoStProof(ctx context.Context, h *types.BlockHeader, baseTs *types.TipSet, waddr address.Address) error

type SyncerState

type SyncerState struct {
	Target  *types.TipSet
	Base    *types.TipSet
	Stage   api.SyncStateStage
	Height  uint64
	Message string
	Start   time.Time
	End     time.Time
	// contains filtered or unexported fields
}

func (*SyncerState) Error

func (ss *SyncerState) Error(err error)

func (*SyncerState) Init

func (ss *SyncerState) Init(base, target *types.TipSet)

func (*SyncerState) SetHeight

func (ss *SyncerState) SetHeight(h uint64)

func (*SyncerState) SetStage

func (ss *SyncerState) SetStage(v api.SyncStateStage)

func (*SyncerState) Snapshot

func (ss *SyncerState) Snapshot() SyncerState

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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