An alternative full node implementation of LBRY's blockchain written in Go (golang)
This commit adds detection and filtering for back-to-back duplicate getblocks requests. This is needed because the trigger for requesting more blocks is receiving an orphan. When the peer is further behind than the number of blocks advertised via a single inventory message, the same orphan block will be sent multiple times. When the peer receives the final inventory message, it too contains the orphan that was previously sent. This leads to a duplicate getblocks request that must be filtered to prevent requesting the final series of blocks again. |
||
---|---|---|
.gitignore | ||
addrmanager.go | ||
addrmanager_test.go | ||
blockmanager.go | ||
btcd.go | ||
config.go | ||
discovery.go | ||
LICENSE | ||
logclosure.go | ||
mruinvmap.go | ||
params.go | ||
peer.go | ||
README.md | ||
rpcserver.go | ||
sample-btcd.conf | ||
server.go | ||
signal.go | ||
upgrade.go | ||
version.go |
btcd
btcd is an alternative full node bitcoin implementation written in Go (golang).
This project is currently under active development and is not production ready yet.
TODO
The following is a list of major items remaining before production release:
- Implement multi-peer support
- Implement transaction mempool & relay
- Complete address manager
- Documentation
- A lot of code cleanup
- Optimize