Author

Topic: simplified payment verification in the official client? (Read 2711 times)

legendary
Activity: 1526
Merit: 1129
Well, also that, and it hasn't been implemented ...

What you are calling "SPV" is really a big pile of different optimisations. If you wanted to run bitcoind on a smartphone, for instance, it's insufficient to just only download a Bloom filtered block chain. You'd also have to reduce memory usage a lot, like by not storing all the block headers either. That would violate a bunch of assumptions in the code. You'd also have to optimise the amount of disk IO, because disk on phones is really slow. It's a fair amount of work.

If all you want is a desktop wallet with a Bitcoin-Qt like UI, but with SPV performance/security, you can check out MultiBit, and if that isn't your kettle of fish - why not work on a competitor? So far we have MultiBit, Hive, MacWallet and something for Ubuntu Touch called just "Bitcoin Touch", all of which are using bitcoinj. Most of those apps aren't even written in Java.

So we're developing quite a nice ecosystem there, and building the wallet app of your dreams has never been easier. It's all documented, there is lots of example code and so on. You can actually find a template for a wallet app in the bitcoinj git master branch that has a nice UI with slick animations, etc - it's a really tiny amount of code, even in Java which is kind of a verbose language. You can also use bitcoinj directly from Python, Ruby, Lisp (clojure) and a mixed paradigm functional language called Scala, all using their JVM implementations.

edit: I elaborated on that theme here
legendary
Activity: 1652
Merit: 2216
Chief Scientist
Please don't say "official client" -- there is no "official."

"Reference implementation" is more accurate.

Lack of SPV mode in the reference implementation is mostly due to lack of testing / code review resources.
full member
Activity: 136
Merit: 100
For those of use who want to keep using the official client but are worried about the growing blockchain size, are there any plans to add simple payment verification (SPV) to the official client similar to what is done in bitcoinj?

Is the current lack of support for SPV due to lack of developer time and resources, or are there still any unresolved security issues?

Jump to: