Hi,
I want my users to deposit btc funds into their accounts on my website, am exploring 2 ways to do it:
- Embedding bitcoind into my server: most trustable, but needs 80Gb Disk and 2G of ram for it, and python libs are complex/undocumented
- Relying on blockchain.info wallet api: simple and quick time-to-market, but they are slow at reponding to my request for an api key access
What do you think guys ?
Avoid blockchain.info, they have some limits on API access and they've had a lot of security issues in the past. Be very careful with handling Bitcoins on behalf of other people. If you're using a virtual private server, consider some of the following:
- You may exceed disk i/o with some providers when storing/accessing the blockchain on your server
- Disable root access for remote access (ssh, etc). Create a low-priv account. Create an rsa-key pair for root.
- Enable whole disk encryption (remember to backup, could impact performance)
- Don't use a hot wallet, allow users to deposit funds into offline wallet that's air gapped or paper wallet. Monitor addresses for deposits.
- Don't keep any wallet on the same system as your webserver or database, encrypt the traffic between your web services and your wallet.
- Backup, backup, backup, encrypt, encrypt, encrypt.
- Use Qualys to scan your system for vulnerabilities
- Review best practices over at for manging cryptocurrency https://cryptoconsortium.org/standards/CCSS