Versions in this module Expand all Collapse all v1 v1.1.3 Nov 14, 2021 Changes in this version + var MaxBlockFetch = 128 + var MaxHeaderFetch = 192 + var MaxReceiptFetch = 256 + var MaxSkeletonSize = 128 + var MaxStateFetch = 384 + type BlockChain interface + CurrentBlock func() *types.Block + CurrentFastBlock func() *types.Block + FastSyncCommitHead func(common.Hash) error + GetBlockByHash func(common.Hash) *types.Block + HasBlock func(common.Hash, uint64) bool + HasFastBlock func(common.Hash, uint64) bool + InsertChain func(types.Blocks) (int, error) + InsertReceiptChain func(types.Blocks, []types.Receipts, uint64) (int, error) + Snapshots func() *snapshot.Tree + type DoneEvent struct + Latest *types.Header + type DownloadOption func(downloader *Downloader) *Downloader + func EnableDiffFetchOp(peers IPeerSet) DownloadOption + type Downloader struct + SnapSyncer *snap.Syncer + func New(checkpoint uint64, stateDb ethdb.Database, stateBloom *trie.SyncBloom, ...) *Downloader + func (d *Downloader) Cancel() + func (d *Downloader) DeliverBodies(id string, transactions [][]*types.Transaction, uncles [][]*types.Header) error + func (d *Downloader) DeliverHeaders(id string, headers []*types.Header) error + func (d *Downloader) DeliverNodeData(id string, data [][]byte) error + func (d *Downloader) DeliverReceipts(id string, receipts [][]*types.Receipt) error + func (d *Downloader) DeliverSnapPacket(peer *snap.Peer, packet snap.Packet) error + func (d *Downloader) Progress() ethereum.SyncProgress + func (d *Downloader) RegisterLightPeer(id string, version uint, peer LightPeer) error + func (d *Downloader) RegisterPeer(id string, version uint, peer Peer) error + func (d *Downloader) Synchronise(id string, head common.Hash, td *big.Int, mode SyncMode) error + func (d *Downloader) Synchronising() bool + func (d *Downloader) Terminate() + func (d *Downloader) UnregisterPeer(id string) error + type FailedEvent struct + Err error + type IDiffPeer interface + RequestDiffLayers func([]common.Hash) error + type IPeerSet interface + GetDiffPeer func(string) IDiffPeer + type LightChain interface + CurrentHeader func() *types.Header + GetHeaderByHash func(common.Hash) *types.Header + GetTd func(common.Hash, uint64) *big.Int + HasHeader func(common.Hash, uint64) bool + InsertHeaderChain func([]*types.Header, int) (int, error) + SetHead func(uint64) error + type LightPeer interface + Head func() (common.Hash, *big.Int) + RequestHeadersByHash func(common.Hash, int, int, bool) error + RequestHeadersByNumber func(uint64, int, int, bool) error + type Peer interface + RequestBodies func([]common.Hash) error + RequestNodeData func([]common.Hash) error + RequestReceipts func([]common.Hash) error + type PublicDownloaderAPI struct + func NewPublicDownloaderAPI(d *Downloader, m *event.TypeMux) *PublicDownloaderAPI + func (api *PublicDownloaderAPI) SubscribeSyncStatus(status chan interface{}) *SyncStatusSubscription + func (api *PublicDownloaderAPI) Syncing(ctx context.Context) (*rpc.Subscription, error) + type StartEvent struct + type SyncMode uint32 + const FastSync + const FullSync + const LightSync + const SnapSync + func (mode *SyncMode) UnmarshalText(text []byte) error + func (mode SyncMode) IsValid() bool + func (mode SyncMode) MarshalText() ([]byte, error) + func (mode SyncMode) String() string + type SyncStatusSubscription struct + func (s *SyncStatusSubscription) Unsubscribe() + type SyncingResult struct + Status ethereum.SyncProgress + Syncing bool