btcd/netsync
Calvin Kim aace7a9d0f netsync: don't ask for blocks from peers on the same block height
When we're all caught up and we have a new peer, we'll ask for blocks
from peers that we're on the same height. Since these peers don't have
any blocks to send us, they don't reply and we disconnect from them as
they timeout.

To prevent this, we don't ask for blocks if the chain thinks we're
current and do not have a peer that reports having a higher block.
2025-01-16 16:09:26 +09:00
..
blocklogger.go blockchain, netsync, main, cmd/addblock: Use utxocache 2023-12-16 16:53:17 +09:00
doc.go netsync: Change name of blockManager to syncManager. 2017-08-25 13:41:22 -05:00
interface.go multi: Run gofmt on the entire repository 2023-06-21 22:31:09 +09:00
log.go netsync: Use package-local logger. 2017-08-25 13:41:22 -05:00
manager.go netsync: don't ask for blocks from peers on the same block height 2025-01-16 16:09:26 +09:00
README.md docs: update shields 2021-03-05 07:45:19 -05:00

netsync

Build Status ISC License GoDoc

Overview

This package implements a concurrency safe block syncing protocol. The SyncManager communicates with connected peers to perform an initial block download, keep the chain and unconfirmed transaction pool in sync, and announce new blocks connected to the chain. Currently the sync manager selects a single sync peer that it downloads all blocks from until it is up to date with the longest chain the sync peer is aware of.

Installation and Updating

$ go get -u github.com/btcsuite/btcd/netsync

License

Package netsync is licensed under the copyfree ISC License.