What's the status of alternative full node implementations?

18

9

In "Does running an alternative full node implementation benefit the Bitcoin network?", I asked about running an alternative full node implementation for the benefit of the Bitcoin network.

What is the current status of different alternative full node implementations with regard to

  • maturity (alpha/beta/stable)
  • performance
  • compatibility tests
  • code review
  • suitability for different purposes:
    • experimentation
    • merchants
    • as a wallet
    • as a lightweight wallet back-end
    • solely for the benefit of the network?

Update: Moved the list of implementations into an answer.

akaihola

Posted 2013-08-21T08:15:23.500

Reputation: 582

1

This question requires a good answer to be too long for this format. However, I think the Client overview page of the bitcoin.it-wiki might be at least partially what you are looking for.

– Murch – 2013-10-07T11:42:43.503

@Murch You must consider that StackExchange answers usually appear first and foremost while searching, and that an answer here might attract more interest than a blog post could. The SE format is rich enough, I guess the limitations are engagement and expertise - i.e., nobody cares, or who cares doesn't know. – Bruno Kim – 2014-02-21T11:52:09.303

@BrunoKim Correct. Unfortunately, engagement on the Bitcoin.SE is somewhat at a low, so I would expect information that has to be constantly updated to fall behind quickly, i.e. in this case I think it is better to link to the bitcoin wiki (not a blog post) instead of duplicating their effort. – Murch – 2014-02-21T13:50:56.293

@Murch I couldn't find any wiki page on bitcoin.it about full node implementations, and the tables there don't seem to have a column for that either. In your opinion, should I create a list of full node implementations on the wiki instead of maintaining this list here? – akaihola – 2014-02-22T20:38:40.470

Well, if someone starts doing it here, that would be marvelous of course, I was just thinking that there might be more people using bitcoin.it actively than bitcoin.SE.

However, I am not sure, are you currently collecting information in the Question? It might be better if you created an answer instead for the answer part. :) If you need help, I am up for it, I usually hang out in the Bitcoin chat when I am online. – Murch – 2014-02-22T23:30:58.600

The answer to this question will change radically over time, (and may actually be opinion-driven,) so I don't think this is a good place for this question. – BraveNewCurrency – 2014-03-16T17:41:07.257

In any case, the answer part of the question would make a good start for an answer. – Murch – 2014-03-19T21:38:32.483

It's not an answer, but I requested to be able to do my Masters Thesis about Bitcoin and if my proposal is accepted, I will be building a full node implementation in Dart. I've been building a Dart Bitcoin library for the last few months.

– Steven Roose – 2014-05-10T15:49:06.617

Answers

11

Update: Coin Dance has an excellent table of node implementations with descriptions and links at the bottom of their Bitcoin Nodes Summary page.


Below are the implementations I've found. I'm not sure if all of them qualify as full nodes.

(Sources: Core Development Update #4 by Gavin Andresen, Jun 21 2013 on the Bitcoin Foundation blog; bitcointalk.org forums)

Updated bitcoinj and libbitcoin status (based on information from this bitcointalk thread); Electrum backend Added Bitcore

akaihola

Posted 2013-08-21T08:15:23.500

Reputation: 582

I'd like to stress that miners must use bitcoind. If certain miners use different implementations it might cause forks in the blockchain. It's a complicated issue talked more in detail here http://bitcoin.stackexchange.com/questions/25254/why-dont-developers-switch-from-bitcoin-qt-to-a-cleaner-implementation

– Luca Matteis – 2014-05-12T18:34:54.030

We also use our own implementation, in Go as well but distinct from btcd: http://www.blockcypher.com

– Matthieu – 2014-05-12T18:53:48.010

@Matthieu Thanks for the information! Looks like it's only used internally by you and it isn't possible for others to run full nodes using your software? – akaihola – 2014-05-24T07:06:47.420

@akaihola For now, but you can access it through the API and we will open source it when we're ready. – Matthieu – 2014-05-24T15:40:06.643

1

Should NBitcoin be listed here too?

– Arturo Torres Sánchez – 2015-02-06T16:20:25.477

I think Hive uses Electrum-server as its backend? Is the API documented? – Janus Troelsen – 2015-06-09T15:07:34.567