Bitcoin Forum

Bitcoin => Bitcoin Technical Support => Topic started by: MadGamer on November 13, 2018, 12:57:04 PM



Title: Bitcoind requests
Post by: MadGamer on November 13, 2018, 12:57:04 PM
I've never made an application before but I'm planning to do that and I don't want to use external APIs. Instead, I want to run bitcoind and run commands myself

My question is this, If if ever make the app public, how many requests could my full node handle exactly? or it doesn't matter and It's just a matter of bandwidth of the hosting I'm using?


Title: Re: Bitcoind requests
Post by: bob123 on November 13, 2018, 03:02:41 PM
The amount of request your personal core instance can handle depends on your hardware.

The CPU and Disk I/O are the main bottleneck. Your network bandwidth will probably allow more requests than your hardware can handle.

I can't give you an exact (or estimated) number since i haven't tried overwhelming my full node yet  :D


Title: Re: Bitcoind requests
Post by: MadGamer on November 15, 2018, 11:59:33 AM
I thought that bitcoind is the right thing to use because I assumed that most of the exchanges, blockexplorer out there use it. If they don't use that and not bitcore either, what do they use then?


Title: Re: Bitcoind requests
Post by: mocacinno on November 15, 2018, 12:00:45 PM
I thought that bitcoind is the right thing to use because I assumed that most of the exchanges, blockexplorer out there use it. If they don't use that and not bitcore either, what do they use then?

I suppose most exchanges do use bitcoind (an educated guess based on reviewing leaked sourcecode of some exchanges in the past). I think the amount of calls is relative, and like others have said: a lot depends on your hardware... When you run an exchange, i don't think you'll be making dozens of json-rpc calls a second... You basically need to request new deposit addresses whenever a clients requests a new address manually, and let bitcoin core call an external command on incoming blocks and transactions funding one of it's monitored addresses...

If you're storing everything on SSD's in a proper raid config, setup a good cache, a decent CPU, fast ram,... I guess you should be able to run a decent size exchange on one or two nodes.

I have tried running a bitcore explorer a long time ago, and if i remember correctly, bitcore was actually using a fork of bitcoin core with only minor changes to the sourcecode (most changes were made in order to be able to build more indexes if i'm not mistaking)... So i guess you should also be able to run a decent size block explorer using bitcoin core.

EDIT: https://github.com/bitpay/bitcoin/tree/v1.15.1-nobig :)