12
7
Say I want to run a big project, where users can continually request new addresses to deposit Bitcoins in their online account. I suppose I will have to pre-generate thousands of Bitcoin key-pairs and import them into a running instance of bitcoind on my server. Each time a user requests a new address to deposit Bitcoins into his account, I will assign him a new address. Then bitcoind will notify me when any of the imported addresses receive a transaction.
First question: Is bitcoind capable of monitoring thousands of addresses in real-time? Should I plan a dedicated machine for this?
Second question: Since I will need to move received Bitcoins to a cold storage and also make payouts automatically many times a day, I will need to store the private keys on the online server as well. I can have wallet.dat password-protected but what is the safest method to automatically unlock the wallet, move funds and then lock it again without the password being possibly compromised? I don’t consider it safe if the password appears anywhere in code, config or database. And I don’t want to enter the password manually several times a day.
Third question: Will bitcoind generate a new “change address” every time I move funds from the receiving address to payouts and cold storage? I ask because if bitcoind used one of the imported addresses for change, it would appear as if client received Bitcoins.
Your question is similar to mine http://bitcoin.stackexchange.com/questions/21496/creating-secure-architecture-and-payout-process. I've read that Cryptsy uses cold wallets, so does it mean that they operates on virtual balances and when payout is made, they move money from cold to how wallet?
– spamec – 2014-02-04T13:49:14.003