An alternative full node implementation of LBRY's blockchain written in Go (golang)
eb667fdf83
Chain is not concurrency safe, so we move the chainNotifySink handling into the main blockmanager goroutine. Due to a possible deadlock if the buffer is filled this still has to be a single channel that isn't linked to the other ones. There is a possible starvation issue where the main msgChan gets selected more often than the notification sink, but until chain is concurrency safe this is rather unavoidable. |
||
---|---|---|
.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