Bitcoin Forum
May 04, 2024, 08:13:15 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1] 2 »  All
  Print  
Author Topic: What's the best api to use for bitcoin payment project  (Read 2342 times)
zoufou (OP)
Member
**
Offline Offline

Activity: 114
Merit: 10


View Profile
May 29, 2016, 02:45:25 PM
 #1

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 ?
1714810395
Hero Member
*
Offline Offline

Posts: 1714810395

View Profile Personal Message (Offline)

Ignore
1714810395
Reply with quote  #2

1714810395
Report to moderator
1714810395
Hero Member
*
Offline Offline

Posts: 1714810395

View Profile Personal Message (Offline)

Ignore
1714810395
Reply with quote  #2

1714810395
Report to moderator
There are several different types of Bitcoin clients. The most secure are full nodes like Bitcoin Core, which will follow the rules of the network no matter what miners do. Even if every miner decided to create 1000 bitcoins per block, full nodes would stick to the rules and reject those blocks.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1714810395
Hero Member
*
Offline Offline

Posts: 1714810395

View Profile Personal Message (Offline)

Ignore
1714810395
Reply with quote  #2

1714810395
Report to moderator
1714810395
Hero Member
*
Offline Offline

Posts: 1714810395

View Profile Personal Message (Offline)

Ignore
1714810395
Reply with quote  #2

1714810395
Report to moderator
1714810395
Hero Member
*
Offline Offline

Posts: 1714810395

View Profile Personal Message (Offline)

Ignore
1714810395
Reply with quote  #2

1714810395
Report to moderator
achow101
Staff
Legendary
*
Offline Offline

Activity: 3388
Merit: 6578


Just writing some code


View Profile WWW
May 29, 2016, 03:24:52 PM
 #2

I would avoid using blockchain.info as their service and security are known to fail from time to time. I recommend that you use a local API. If you don't want to run bitcoind, I suggest you use Electrum. Electrum has an RPC interface similar to bitcoind's and Electrum does not require downloading the full blockchain.

cloverme
Legendary
*
Offline Offline

Activity: 1512
Merit: 1054


SpacePirate.io


View Profile WWW
May 29, 2016, 04:31:34 PM
 #3

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
crairezx20
Legendary
*
Offline Offline

Activity: 1638
Merit: 1046



View Profile
May 29, 2016, 04:37:49 PM
 #4

You can try also to make your own api buy your vps instead create your own server.. install bitcoin and whole bloch chain and use json_rpc..
Never tried blockchain.info. you can also try https://chainz.cryptoid.info/api.dws
And ask for other command.
zoufou (OP)
Member
**
Offline Offline

Activity: 114
Merit: 10


View Profile
May 29, 2016, 10:03:34 PM
 #5

What are you using for bitcoinstarter.com by the way ?


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
ZonedOutSpace
Sr. Member
****
Offline Offline

Activity: 280
Merit: 250

From Russia with love


View Profile
May 30, 2016, 04:49:14 AM
 #6

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 ?

I used the block.io api in a project recently, pretty easy to use.
Also they only use multi-signature addresses for added security which is nice.
Check it out: http://block.io/api
cloverme
Legendary
*
Offline Offline

Activity: 1512
Merit: 1054


SpacePirate.io


View Profile WWW
May 30, 2016, 05:36:48 AM
 #7

What are you using for bitcoinstarter.com by the way ?

I'm using bitcoin core (bitcoind), it provides everything I need it to do for certain tasks (that don't require deposits), like getreceivedbyaddress() and such.  Everything you need to connect a web app to bitcoin is pretty much here: https://en.bitcoin.it/wiki/API_reference_(JSON-RPC)

Let us know how you come along with your project!  Cool

zoufou (OP)
Member
**
Offline Offline

Activity: 114
Merit: 10


View Profile
May 30, 2016, 06:40:34 AM
 #8

@cloverme using bitcoind has extra footprint on server (ram & disk), this is not good for small to average size projects ..

I think am going to rely on block.io
zoufou (OP)
Member
**
Offline Offline

Activity: 114
Merit: 10


View Profile
May 30, 2016, 06:50:40 AM
 #9

From what i can see on block.io, it's not possible to have webhooks on payment reception unless i go on a paid plan (30$ / month), am i right ?

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 ?

I used the block.io api in a project recently, pretty easy to use.
Also they only use multi-signature addresses for added security which is nice.
Check it out: http://block.io/api
ZonedOutSpace
Sr. Member
****
Offline Offline

Activity: 280
Merit: 250

From Russia with love


View Profile
May 30, 2016, 07:08:13 AM
 #10

From what i can see on block.io, it's not possible to have webhooks on payment reception unless i go on a paid plan (30$ / month), am i right ?

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 ?

I used the block.io api in a project recently, pretty easy to use.
Also they only use multi-signature addresses for added security which is nice.
Check it out: http://block.io/api

Yeah but you could always try using the web socket they provide.
https://www.block.io/docs/notifications
batesresearch
Legendary
*
Offline Offline

Activity: 2424
Merit: 1147


View Profile WWW
May 30, 2016, 10:25:24 AM
 #11

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 ?

I use bitcoind for my projects, if you build your system correctly you are only relying on yourself no other third party (Maybe besides the VPS provider). This is the only way I would do it with any project now for the future as I know we have complete control over usage.

Visit Satoshi's Place, a Bitcoin Hub based in Bury, Manchester, UK.
Website: https://satoshisplace.co.uk
Goals: Educate & Onboard users in to Bitcoin. Lightning network⚡️
zoufou (OP)
Member
**
Offline Offline

Activity: 114
Merit: 10


View Profile
May 30, 2016, 02:23:21 PM
 #12

What about sizing ? how much resources (ram, cpu and disk) you allocate for bitcoind ?

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 ?

I use bitcoind for my projects, if you build your system correctly you are only relying on yourself no other third party (Maybe besides the VPS provider). This is the only way I would do it with any project now for the future as I know we have complete control over usage.
lucasjkr
Hero Member
*****
Offline Offline

Activity: 644
Merit: 500


View Profile
May 30, 2016, 02:26:33 PM
 #13

I have similar idea, collect payments (or at least, monitor bitcoin addresses to check if they've received payment), and am downloading the blockchain as we speak. No offense to the guys at blockchain.info, they did great work originally (or maybe because there weren't any other options back then), but there have been enough lapses with them and other services... seems much more straight forward to simply check the payment status yourself.
Joel_Jantsen
Legendary
*
Offline Offline

Activity: 1862
Merit: 1308

Get your game girl


View Profile
May 30, 2016, 02:37:38 PM
 #14

I have similar idea, collect payments (or at least, monitor bitcoin addresses to check if they've received payment), and am downloading the blockchain as we speak. No offense to the guys at blockchain.info, they did great work originally (or maybe because there weren't any other options back then), but there have been enough lapses with them and other services... seems much more straight forward to simply check the payment status yourself.

The problem with blockchain.info's API is ,they have restricted their free stuff to only limited volume.If you want to access the private API ,you need to get a key from them which can be only given after verification of your project.90% of the times you're rejected.However good part is ,you don't need to depend on them,explore a bit about block.io ,their API seems equally good.
batesresearch
Legendary
*
Offline Offline

Activity: 2424
Merit: 1147


View Profile WWW
May 30, 2016, 07:17:24 PM
 #15

What about sizing ? how much resources (ram, cpu and disk) you allocate for bitcoind ?


For the test bitcoind system I run, i have it on a 4GB, 100GB and a 3.1 GHz (4 vCores) VPS. I could collect some statistics if you like give you an idea of usage.

Visit Satoshi's Place, a Bitcoin Hub based in Bury, Manchester, UK.
Website: https://satoshisplace.co.uk
Goals: Educate & Onboard users in to Bitcoin. Lightning network⚡️
zoufou (OP)
Member
**
Offline Offline

Activity: 114
Merit: 10


View Profile
May 30, 2016, 08:04:26 PM
 #16

any recommendation for a good hosting with such a disk space ? and i guess i dont need too much cpu as you do, did you take such config after studying your requirements ?

I see people running bitcoind on beaglebones with 512 ram, they say it's working, so am trying to calibrate the best config with the right cost for me ...

What about sizing ? how much resources (ram, cpu and disk) you allocate for bitcoind ?


For the test bitcoind system I run, i have it on a 4GB, 100GB and a 3.1 GHz (4 vCores) VPS. I could collect some statistics if you like give you an idea of usage.
batesresearch
Legendary
*
Offline Offline

Activity: 2424
Merit: 1147


View Profile WWW
May 31, 2016, 08:11:46 AM
 #17

any recommendation for a good hosting with such a disk space ? and i guess i dont need too much cpu as you do, did you take such config after studying your requirements ?

I see people running bitcoind on beaglebones with 512 ram, they say it's working, so am trying to calibrate the best config with the right cost for me ...

I actually run a hosting company (which is currently under re-development and in the future will be creating custom cryptocurrency imaged servers for renting). This was just a spare VPS I had for testing but I'll be using this to collect data off in the future.

Visit Satoshi's Place, a Bitcoin Hub based in Bury, Manchester, UK.
Website: https://satoshisplace.co.uk
Goals: Educate & Onboard users in to Bitcoin. Lightning network⚡️
zoufou (OP)
Member
**
Offline Offline

Activity: 114
Merit: 10


View Profile
May 31, 2016, 10:20:51 PM
 #18

While using bitcoind json rpc api, is there anyway to get a callback when an address receives a transaction ? or should i keep polling the api asking for new transactions ? if the latter, i guess i'll do too much i/o traffic when waiting for transactions from 200 users ...

any recommendation for a good hosting with such a disk space ? and i guess i dont need too much cpu as you do, did you take such config after studying your requirements ?

I see people running bitcoind on beaglebones with 512 ram, they say it's working, so am trying to calibrate the best config with the right cost for me ...

I actually run a hosting company (which is currently under re-development and in the future will be creating custom cryptocurrency imaged servers for renting). This was just a spare VPS I had for testing but I'll be using this to collect data off in the future.
NyeFe
Hero Member
*****
Offline Offline

Activity: 699
Merit: 500


View Profile
June 01, 2016, 01:28:54 AM
 #19

The best API to use?

Okay let me break-down my own opinion.


I'm considering bitcoind on VPS which is pretty cheap (~10$) and secure, but you would need to download the whole blockchain, maintain and configure any networking issues.

I would use blockchain.info (since it is one of the most secure) but their free service is heavily used and sometimes overloaded with API request... so i wouldn't want to add to the load or have any request timeouts/shortages impact any of my services.

I would use blockr.io but their services are just too damn expensive when compared to a simple VPS hosting solutions.

All of this leads me to blocktrail.com which is currently my favorite. Like blockchain.info, they are set out to help the Bitcoin ecosystem, by providing simplified, free, and secure API services, which is always good thing. They are popular, maybe not as much as blockchain.info, but thats good for me since they'll probably be less likely to be overloaded with GET/POST requests from servers/clients.

If the service doesn't create wallets or send bitcoins, but, requires an API which can help it explore the blockchain, my recommendation would be blockexplorer

MicroDApp.com—Smart Contract developers. Lets build a decentralized future!
lucasjkr
Hero Member
*****
Offline Offline

Activity: 644
Merit: 500


View Profile
June 09, 2016, 01:26:40 PM
 #20

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 ?

You could run a pruning node and not need the whole 80 GB of disk space, supposing that you don't care about having record of Satoshi giving Hal his first Bitcoins, and just want generate and monitor new addresses on the blockchain.
Pages: [1] 2 »  All
  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!