An alternative full node implementation of LBRY's blockchain written in Go (golang)
60779ea8df
This commit modifies the input message handler so that when a remote peer sends a block, no further messages from that peer are accepted until the block has been fully processed and therefore known good or bad. This helps prevent a malicious peer from queueing up a bunch of bad blocks before disconnecting (or being disconnected) and wasting memory. Additionally, this behavior is depended on by at least the block acceptance test tool as the reference implementation processes blocks in the same thread and therefore blocks further messages until the block has been fully processed as well. |
||
---|---|---|
.gitignore | ||
addrmanager.go | ||
addrmanager_test.go | ||
blockmanager.go | ||
btcd.go | ||
config.go | ||
discovery.go | ||
LICENSE | ||
logclosure.go | ||
params.go | ||
peer.go | ||
README.md | ||
rpcserver.go | ||
sample-btcd.conf | ||
server.go | ||
signal.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 relay
- Complete address manager
- Rework the block syncing code to work with headers
- Documentation
- A lot of code cleanup
- Optimize