-
Notifications
You must be signed in to change notification settings - Fork 82
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add 'multinvoke*historic' (allow multiple blocks per historic call) #3814
Comments
I don't think we will ever provide this. Historic calls are not exactly cheap and this obviously amplifies the load on the server. In most cases it'd be insecure. If cases where risks are acceptable I doubt it would give you a lot of benefit performance-wise. Consider also cases of iterators returned, they all require additional resources server-side. |
What do you mean? Is it safe if I use it against a local rpc instance? (which we control)
Could you detail a bit more what kind of resources? Would it be possible to compute results locally? (considering you have a working VM in the browser). We don't use iterators and we don't miss it. It's possible to circumvent it. Maybe we could do the same here. |
Sure, your node --- your rules.
Iterator must be backed by server-side session operating over the DB (neo-project/neo#3429 can help somewhat, but not in all cases). I'd rather just shoot multiple requests at the NeoGo node (tune RPC limits appropriately if needed), there is no need to extend the API for it. |
The problem is that some providers, like AWS, charge per request. It costs 20 or even 50 times more to use multiple requests. Anyway, I'll figure something out. Thanks |
You can use batched requests then, that's also a possibility. Little-known, but available and supported by NeoGo. https://www.jsonrpc.org/specification#batch But the limit for the number of requests in a batch is currently hardcoded at 100. This we can make configurable if you need. |
Is your feature request related to a problem? Please describe.
The historic endpoints are very useful. The only issue is that it can only accept a single block per request. It would be useful to allow multiple blocks per requests.
Describe the solution you'd like
Create new endpoints that work like the existing historical ones that accept multiple state roots.
Describe alternatives you've considered
We are working on an indexer to avoid this, but this solution will take some time to be ready.
Additional context
While the historic endpoints already solve many problems, we need to 'flood' the server to get historical data for a week or month.
Don't forget to add labels!
feature
The text was updated successfully, but these errors were encountered: