Bitcoin Forum

Bitcoin => Development & Technical Discussion => Topic started by: drazvan on September 24, 2014, 03:12:34 PM



Title: Minimal watch-only client to receive Bitcoin payments
Post by: drazvan on September 24, 2014, 03:12:34 PM
Hello everyone,

I am looking for the smallest / least memory and processor intensive solution that would allow me to receive Bitcoin payments independently (that is without requiring a server). The app does not need to be a wallet, it simply needs to watch a given address and trigger some sort of alert when a payment is received (and possibly confirmed). I'm leaning towards bitcoinj for this (and SPV), but I was wondering if there was anything else that was even less complex / simpler to deploy.

Any ideas?

Thanks,
Razvan


Title: Re: Minimal watch-only client to receive Bitcoin payments
Post by: ffe on September 24, 2014, 06:05:41 PM
in any web browser:

https://blockchain.info/address/1611QkyFoHv3NDrtLgGmRifWdSU3WbE57j

Where you replace 1611QkyFoHv3NDrtLgGmRifWdSU3WbE57j with the address you want to watch.

Bookmark it to use at will. You can shorten it as well using google or other URL shortners. Then you can memorize it.


Title: Re: Minimal watch-only client to receive Bitcoin payments
Post by: drazvan on September 24, 2014, 06:45:10 PM
Thanks ffe, but I'm looking for something that does not require an external server. I've managed to prototype this using Bitcoinj, if anyone knows of a better/simpler solution, I'm all ears. Again, this must receive/parse transaction data from the Bitcoin network, not talk to a server.



Title: Re: Minimal watch-only client to receive Bitcoin payments
Post by: ffe on September 24, 2014, 08:41:29 PM
Not sure how compact their code is but you could look at


Bither - a simple and secure Bitcoin wallet!
Decentralized, based on Bitcoin P2P network, and open source.

Bither Hot Wallet: running on your daily phone, can easily monitor your bitcoin assets, and you can also save small amout of bitcoins in it to pay bitcoins anytime, anywhere.
Bither Cold Wallet: running on your backup phone (old or cheap one), keep the phone offline and save large amount of bitcoins in it, then you can keep your bitcoins as safe as possible.
Communicating between Bither Hot and Bither Cold is simple, the only thing you need to do is scanning the QR-Code.

website : http://bither.net (http://bither.net)
Google Play : https://play.google.com/store/apps/details?id=net.bither (https://play.google.com/store/apps/details?id=net.bither)
Apple App Store : https://itunes.apple.com/us/app/bither/id899478936 (https://itunes.apple.com/us/app/bither/id899478936)
source code : https://github.com/bither (https://github.com/bither)
twitter : @bithernet (https://twitter.com/bithernet)

demo video : http://youtu.be/Q1DSrc7qkrs (http://youtu.be/Q1DSrc7qkrs)





Title: Re: Minimal watch-only client to receive Bitcoin payments
Post by: hhanh00 on September 25, 2014, 05:18:55 AM
Thanks ffe, but I'm looking for something that does not require an external server. I've managed to prototype this using Bitcoinj, if anyone knows of a better/simpler solution, I'm all ears. Again, this must receive/parse transaction data from the Bitcoin network, not talk to a server.



Coincidentally, I just wrote an app for a very similar purpose. The only difference is that it takes an Electrum public master key instead of a single address but it's much smaller than bitcoinj or anything else so you can easily modify the code for your needs.

https://github.com/hhanh00/spvwallet (https://github.com/hhanh00/spvwallet)


Title: Re: Minimal watch-only client to receive Bitcoin payments
Post by: Dabs on September 25, 2014, 05:32:58 AM
Is bitcoin core out of the question? You could import your address to a brand new wallet and just use -walletnotify. You either use an impossible password or pywallet to wipe out the private key.


Title: Re: Minimal watch-only client to receive Bitcoin payments
Post by: drazvan on September 25, 2014, 07:30:52 PM
Is bitcoin core out of the question? You could import your address to a brand new wallet and just use -walletnotify. You either use an impossible password or pywallet to wipe out the private key.

Bitcoin Core is out because of its blockchain space requirements, I only have 4GB of storage and that won't fit the current 20+ GB of the blockchain. I was able to implement it using Bitcoinj, thanks hhanh00 for your suggestion but I'm considerably more familiar with Java (your project uses Scala), so I guess I'll stick to that (and Bitcoinj).

Thanks again everyone.


Title: Re: Minimal watch-only client to receive Bitcoin payments
Post by: TheButterZone on September 26, 2014, 05:14:52 AM
I'd suggest you download the peer-to-peer https://play.google.com/store/apps/details?id=de.schildbach.wallet&hl=en and then submit an issue for it on https://github.com/schildbach/bitcoin-wallet/ asking to be able to import watch-only addresses.


Title: Re: Minimal watch-only client to receive Bitcoin payments
Post by: drazvan on September 26, 2014, 01:42:29 PM
I'd suggest you download the peer-to-peer https://play.google.com/store/apps/details?id=de.schildbach.wallet&hl=en and then submit an issue for it on https://github.com/schildbach/bitcoin-wallet/ asking to be able to import watch-only addresses.

Thanks, but that's an Android wallet and I'm not running Android, my board is a very simple embedded Linux device (low memory, small flash, etc). As I said, I have a working solution now using Bitcoinj so I'll stick to that for now.