Skip to content
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

Implement gas throttle mechanism in web3 #8017

Closed
5 of 6 tasks
IvanKavaldzhiev opened this issue Apr 3, 2024 · 0 comments
Closed
5 of 6 tasks

Implement gas throttle mechanism in web3 #8017

IvanKavaldzhiev opened this issue Apr 3, 2024 · 0 comments
Labels
epic Type: Large user story that encompasses multiple tasks limechain Work planned for the LimeChain team performance web3 Area: Web3 API work package Limechain Work package
Milestone

Comments

@IvanKavaldzhiev
Copy link
Contributor

IvanKavaldzhiev commented Apr 3, 2024

Problem

Currently in hedera-mirror-web3 we handle large traffic by using a fixed amount of transactions per second for all users combined, which are rate limited. Although this approach is working, we can further optimise the number of requests, which are processed by using a gas per second as a throttle.

Solution

We can implement a mechanism which counts how much gas the EVM has processed for a second and throttle the responses when we reach a certain amount of gas. In this way, if the users are sending very light-weight transactions we can handle a lot larger number compared to the fixed amount of rate limit, which treats all transactions the same. Analogically, if the majority of users are performing very gas heavy operations, the requests that could be handled per second would be lowered.

In this way the Archive Node would handle requests in a more flexible way and would be easier to scale.

In addition we can finish some copy mismatches between services mono code and hedera-mirror-web3.

Tasks

  1. enhancement limechain web3
    bilyana-gospodinova
  2. enhancement limechain web3
    bilyana-gospodinova zhpetkov
  3. enhancement limechain web3
  4. enhancement limechain web3
    kselveliev zhpetkov
  5. enhancement limechain web3
    zhpetkov
@IvanKavaldzhiev IvanKavaldzhiev added performance web3 Area: Web3 API limechain Work planned for the LimeChain team work package Limechain Work package labels Apr 3, 2024
@steven-sheehy steven-sheehy added this to the 0.106.0 milestone May 21, 2024
@steven-sheehy steven-sheehy added the epic Type: Large user story that encompasses multiple tasks label May 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
epic Type: Large user story that encompasses multiple tasks limechain Work planned for the LimeChain team performance web3 Area: Web3 API work package Limechain Work package
Projects
Status: Done
Status: Done
Development

No branches or pull requests

2 participants