When I send about 100-120 requests in async, it is fine, the event will give me a response. But above 150 or so, I get "Invalid JSON RPC response: ""

Web3JS 1.2.1

Geth Info: Version: 1.8.12-stable Git Commit: bb0261036b768b26e7f63ebecdb5ae32c76f99bb Quorum Version: 2.2.1

  • How many nodes are you using? – Niklas Feurstein Aug 22 '19 at 11:20
  • Currently using 5 nodes – kjroger94 Aug 22 '19 at 13:59
  • Can you show the code you are using? – Niklas Feurstein Aug 22 '19 at 14:34
  • contractInstance.getPastEvents('create', { filter: { cid: addr, date: date, slot: slot}, fromBlock: 0, toBlock: 'latest' }, function (error, event) {}) – kjroger94 Aug 23 '19 at 3:27
  • This code seems to be fine. Can you send the complete code? – Niklas Feurstein Aug 23 '19 at 5:51

Geth is an ethereum client but it is not a high performance RPC server.

To resolve some calls like getPastEvents it has to traverse a lots of history. It was never designed to respond to thousands of queries per second.

If you want to achieve such performance it is better to store the events you are interested in a suitable database.

| improve this answer | |
  • Pooling the Data once and then saving it in DB seems like a proper solution. – Niklas Feurstein Aug 23 '19 at 14:20
  • would it be the same for a function to get data? Query via a function that gets the data from the index – kjroger94 Aug 24 '19 at 5:46

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.