0
Are there any ways to avoid limitation for api calls (5/sec)?
I need the info about transactions and balance (of certain account), UTXOs and the ability to broadcast my transaction.
Currently I am using public blockchain explorers such as
However they have limits on their calls, which is unacceptable for cases if my service in use of at least 1000-2000 people.
I am begginer, so after some surfing I understood that the only way to tackle that issue is by saving the info in my own database or run my own full nodes (for each currency I have - eth/etc/bitcoin/btc/doge/dash.. etc) which might be pretty expensive and time-consuming.
Can you suggest any good solution?
Thank you!
1Looks like you've already found the solution, which is to run your own nodes. Free services have API limits for a reason, and bypassing them is likely against the terms of service. Moreover, you should not be relying on a third party to confirm such things - if they lie to you, you have little recourse against false balances and withdrawals. – Raghav Sood – 2019-03-19T08:52:00.473
@RaghavSood seems like cashing data about my transactions in my own database (mapping account_address => array of transactions) would be much faster Even if I had my own node, it would take a lot of time to scan all blocks and receive the info I need, Idk how it is implemented in etherscan or chain.so but seems like they use special data structures etc (since I didnt find the method in JSON RPC to receive transactions by address) – newbie – 2019-03-19T10:45:37.013
All the APIs you mention essentially extract all the information block by block into separate DBs and query it - You can check the source for open source explorers such as Insight to get an idea of how they are structured. – Raghav Sood – 2019-03-19T10:49:48.207