Bitcoin Forum
December 16, 2024, 06:12:44 AM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Securely watching for transactions on large numbers of addresses.  (Read 1132 times)
Kiaya (OP)
Newbie
*
Offline Offline

Activity: 33
Merit: 0



View Profile
July 03, 2013, 02:37:16 PM
Last edit: July 03, 2013, 04:17:49 PM by Kiaya
 #1

Maybe you guys can give me a bit of a steer on this. I'm building a website that is going to contain many tens of thousands of pieces of user generated content, and I want each little chunk of content to have it's own bitcoin address so that people can send the author a tip if they find the content useful (and the author will know exactly which content received the tip).

... so, I'm looking to set up a situation where I have a webserver that is watching large numbers of bitcoin addresses and takes an action when it notices that funds have been received on any of these addresses. Storing the private keys on the server is obviously not an option, and I don't really want to depend on a third party service. As an added complexity, I'd like to use vanity addresses if possible.

I've explored -

1) Using the listsinceblock RPC call to get the latest transactions, but for this to work, it seems I need to have all my addresses, along with private keys, on the webserver. It's looking like there's currently no RPC call in the client that will help me see transactions for keys I don't have imported.

2) Using a deterministic wallet in cold storage: but I'm not sure how I'll go about detecting balance changes without depending on some external service (also, this would make using vanity addresses impossible).

Do you guys know of any best practice here. Am I missing something?

tiktoc
Full Member
***
Offline Offline

Activity: 176
Merit: 100


View Profile
July 03, 2013, 05:51:16 PM
 #2

Have a search of both the project development and development forums its discussed often in there.

They reckon bitcoind doesnt scale to well with large wallets, but maybe look at getting watch addresses to work with it (there is a pull request for it) and using -walletnotify?

Or have a look at and speak to the Armory developer or pywallet developer.
Kiaya (OP)
Newbie
*
Offline Offline

Activity: 33
Merit: 0



View Profile
July 03, 2013, 06:06:46 PM
 #3

Have a search of both the project development and development forums its discussed often in there.

They reckon bitcoind doesnt scale to well with large wallets, but maybe look at getting watch addresses to work with it (there is a pull request for it) and using -walletnotify?

Or have a look at and speak to the Armory developer or pywallet developer.

Thanks for that - will do.
🏰 TradeFortress 🏰
Bitcoin Veteran
VIP
Legendary
*
Offline Offline

Activity: 1316
Merit: 1043

👻


View Profile
July 05, 2013, 09:35:53 AM
 #4

Have a search of both the project development and development forums its discussed often in there.

They reckon bitcoind doesnt scale to well with large wallets, but maybe look at getting watch addresses to work with it (there is a pull request for it) and using -walletnotify?

Or have a look at and speak to the Armory developer or pywallet developer.

Thanks for that - will do.
Unless you are using a patched bitcoind, don't bother because it is not going to scale well.
Abdussamad
Legendary
*
Offline Offline

Activity: 3710
Merit: 1586



View Profile
July 05, 2013, 04:09:15 PM
 #5

There is a plugin for wordpress that does this:

http://terk.co/wordpress-bitcoin-tips-plugin/

It uses a free service by blockchain.info. Basically blockchain.info generates a unique address each time you call it and it forwards all bitcoins sent to that address to an address you specify. It also callbacks your script each time someone sends bitcoins so you can keep track of transactions:

http://blockchain.info/api/api_receive
Kiaya (OP)
Newbie
*
Offline Offline

Activity: 33
Merit: 0



View Profile
July 05, 2013, 05:27:19 PM
 #6

Have a search of both the project development and development forums its discussed often in there.

They reckon bitcoind doesnt scale to well with large wallets, but maybe look at getting watch addresses to work with it (there is a pull request for it) and using -walletnotify?

Or have a look at and speak to the Armory developer or pywallet developer.

Thanks for that - will do.
Unless you are using a patched bitcoind, don't bother because it is not going to scale well.

Thanks for the heads up - many congrats on the Inputs.io launch, BTW.

Incase anyone else is looking into doing this kind of thing, there's a pull request in play - https://github.com/bitcoin/bitcoin/pull/2121.
Dabs
Legendary
*
Offline Offline

Activity: 3416
Merit: 1912


The Concierge of Crypto


View Profile
July 10, 2013, 05:09:21 AM
 #7

You can make a wallet.dat file which only has the public bitcoin addresses in it, without the private keys, using jackjack's pywallet. Then you can use the -walletnotify to let you know when an address gets a transaction. You will need to put in the (hex) public keys into the file though, derived from the private key.

Your bitcoind can't spend those coins, and if the server is hacked, there are no private keys on it.

This is much better than putting a wallet.dat file with the actual private keys even if it is protected by a long password.

Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!