Like many of us, we have the need for receiving/sending Bitcoin transactions and providing users with an "application balance" in a typical web application that is expected to scale to over 10k+ users and 100k+ transactions. We have been looking at various solutions, but they all seem more or less problematic or not production ready.
Node implementationsBitcoind
- Apparently not very stable in server environments, requires constant restarts. Also requires considerable amount of memory.
- Doesn't scale with its accounts implementation https://en.bitcoin.it/wiki/Accounts_explained (Would love to hear up-to-date information regarding this.)
btcd
- Not production ready. (?)
libbitcoin / obelisk
- Apparently fast and reliable, but seems quite difficult to integrate with. (?)
- Does not provide wallet functionality.
picocoin / bitcoinj
- SPV implementation, so not suitable for servers. (?)
Hosted / 3rd party solutionsBlockchain
- {"error":"Wallets are currently restricted to 5000 transactions"}, nuff said.
Bits of proof
- Not production ready. (?)
Node + Wallet separationIdea is to use separate solutions for blockchain notifications and wallet functionality. For verification and sending you run a node yourself or use a 3rd party provider. For wallets, I'm really curious if and how deterministic ones, such as the ones provided by Electrum and Armory, work in server environments.
Feel free to suggest other solutions and share your experience. Any advice is welcome!