An alternative full node implementation of LBRY's blockchain written in Go (golang)
Find a file
Dave Collins 60779ea8df Add message blocking semantics to block processing.
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.
2013-08-16 13:40:05 -05:00
.gitignore Convert .gitignore line endings to unix. 2013-08-07 15:00:20 -05:00
addrmanager.go Move btcd to root directory. 2013-08-07 12:47:51 -05:00
addrmanager_test.go Move btcd to root directory. 2013-08-07 12:47:51 -05:00
blockmanager.go Add message blocking semantics to block processing. 2013-08-16 13:40:05 -05:00
btcd.go Misc comment and doco cleanup. 2013-08-08 12:47:15 -05:00
config.go Misc comment and doco cleanup. 2013-08-08 12:47:15 -05:00
discovery.go Misc comment and doco cleanup. 2013-08-08 12:47:15 -05:00
LICENSE Initial import. 2013-08-06 19:17:05 -05:00
logclosure.go Move log closure code into its own file. 2013-08-10 20:07:37 -05:00
params.go Move btcd to root directory. 2013-08-07 12:47:51 -05:00
peer.go Add message blocking semantics to block processing. 2013-08-16 13:40:05 -05:00
README.md Initial import. 2013-08-06 19:17:05 -05:00
rpcserver.go Add stop command to rpcserver. 2013-08-09 16:20:06 -04:00
sample-btcd.conf Misc comment and doco cleanup. 2013-08-08 12:47:15 -05:00
server.go Rework server startup and shutdown sequence. 2013-08-09 14:43:30 -05:00
signal.go Move btcd to root directory. 2013-08-07 12:47:51 -05:00
version.go Add version information and -V/--version flags. 2013-08-07 18:53:01 -05:00

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