Bitcoin Forum

Bitcoin => Development & Technical Discussion => Topic started by: hhanh00 on September 30, 2014, 12:29:53 PM



Title: Alternate bitcoin network clients
Post by: hhanh00 on September 30, 2014, 12:29:53 PM
Besides the official client, what options do we have?

I know of
- BitcoinJ
- btcd
- gocoin

https://en.bitcoin.it/wiki/Clients

Is there a client that implements BIP 37, ultra pruning and/or partial blockchain?

Thanks,
--h


Title: Re: Alternate bitcoin network clients
Post by: ScripterRon on September 30, 2014, 01:06:06 PM
JavaBitcoin (https://github.com/ScripterRon/JavaBitcoin) is a full node which supports SPV clients such as MultiBit.  It uses LevelDB or H2 as the database.  Spent transaction outputs are pruned from the database.  The block chain is not pruned since it is still needed to support new clients that need to download the block chain (I'll add block chain pruning once a mechanism is established for determining which nodes have which parts of the chain).


Title: Re: Alternate bitcoin network clients
Post by: Remember remember the 5th of November on September 30, 2014, 01:35:45 PM
JavaBitcoin (https://github.com/ScripterRon/JavaBitcoin) is a full node which supports SPV clients such as MultiBit.  It uses LevelDB or H2 as the database.  Spent transaction outputs are pruned from the database.  The block chain is not pruned since it is still needed to support new clients that need to download the block chain (I'll add block chain pruning once a mechanism is established for determining which nodes have which parts of the chain).
Has your full node re-implementation been reviewed? The Core developers usually discourage people from re-implementing the bitcoin protocol as the people fix intentional quirks.


Title: Re: Alternate bitcoin network clients
Post by: ScripterRon on September 30, 2014, 02:09:03 PM
Has your full node re-implementation been reviewed? The Core developers usually discourage people from re-implementing the bitcoin protocol as the people fix intentional quirks.
My node has been up and running since last December and has successfully processed the entire block chain starting with the genesis block.  Since I do not support mining, I don't see a problem since I don't create new blocks which could cause a fork.  The worst that happens is the node refuses to accept a block until I figure out what is causing the problem (the blocks generated by Luke Jr are great for testing the script parser ...)

And yes, I've had to implement the bugs in order to match the reference code.


Title: Re: Alternate bitcoin network clients
Post by: hhanh00 on September 30, 2014, 02:38:46 PM
Has your full node re-implementation been reviewed? The Core developers usually discourage people from re-implementing the bitcoin protocol as the people fix intentional quirks.
Really? I'm surprised by this attitude in an open source project.