An alternative full node implementation of LBRY's blockchain written in Go (golang)
Find a file
Owain G. Ainsworth 6bb0b80bbb Ignore non-sync invs and don't relay invs if we are not yet caught up.
We originally wanted to also not fetch orphan parents in this commit, however,
I have discovered that if you are doing a main sync from a peer, if it
sends you an orphan you must fetch it, else you ahven't fetched
everything it told you about and thus it will nto send you end more invs
from the main sync.

So we always fetch orphan parents, but we still don't fetch from
non-sync peers (all invs from them will be unsolicited). Seems to fix some hangs
with multiple peers.
2013-10-03 20:13:56 +01:00
.gitignore Convert .gitignore line endings to unix. 2013-08-07 15:00:20 -05:00
addrmanager.go Convert the rest of the subsystems to use atomics for shutdown vars. 2013-10-03 00:33:42 +01:00
addrmanager_test.go add tests for RFC*, Local, Valid, and Routable. 2013-10-02 17:34:25 -04:00
blockmanager.go Ignore non-sync invs and don't relay invs if we are not yet caught up. 2013-10-03 20:13:56 +01:00
btcd.go Address some minor things reported by golint. 2013-09-18 00:36:40 -05:00
config.go Remove the noverify option. 2013-10-03 13:01:18 -05:00
discovery.go Flesh out addrmanger with some basic functionality. 2013-09-15 20:25:55 -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
mruinvmap.go Add block inventory relay. 2013-09-11 20:14:13 -05:00
params.go Rework the data path and db type handling. 2013-09-15 14:25:32 -05:00
peer.go Introduce a Stringer on peers. 2013-10-02 20:05:10 -05:00
README.md Remove block relay from TODO list. 2013-09-12 09:15:38 -05:00
rpcserver.go Handle case where no auth is sent to rpcserver. 2013-10-03 08:12:18 -04:00
sample-btcd.conf Update sample config for recent go-flags fix. 2013-09-19 09:17:15 -05:00
server.go Introduce a Stringer on peers. 2013-10-02 20:05:10 -05:00
signal.go Make the signal handling concurrent safe. 2013-10-03 09:29:18 -05:00
upgrade.go Rework the data path and db type handling. 2013-09-15 14:25:32 -05:00
version.go Rework the data path and db type handling. 2013-09-15 14:25:32 -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 transaction mempool & relay
  • Complete address manager
  • Documentation
  • A lot of code cleanup
  • Optimize