-
Notifications
You must be signed in to change notification settings - Fork 685
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
EIP1283 - Net gas metering #1105
Comments
There are now two incompatible proposals (the latter a counter-proposal by Parity Tech due to their implementation specifics):
A copy-paste from gitter/ethereum/AllCoreDevs: (...) EIP-1087 introduces a map (of EIP-1283 needs a "cache" (a map, most likely - of EIP-1283 introduces a map (of (The above might not make sense depending on how your favourite implementation delineates "inside the EVM". Or maybe I'm battling a chimera here, to understand the trade-offs. Sorry if noise.) To which the author of EIP-1283 responds: Not quite the case, actually. EIP-1283's "map" is needed to be kept for every client right now -- all clients already have this information because they need to handle it in case a transaction reverts. Just like a storage slot's current value and new value, most clients won't need any new extra structs to fetch that info. The issue with EIP-1087 is that the "dirty map" concept is in conflict with one of the optimization we do after EIP-658, so for parity-ethereum, we can't have that without getting an extra struct. So you may say:
The first is needed any way by other operations as well. A few questions, somewhat abstract:
|
Looking at our JournalDB class, I believe 1283 is going to be easiest to implement. We'll have to figure out how to expose the original/current values to the To answer your specific questions.
I believe that our architecture is closest to 1283 since we keep an in-memory map of current values.
Implementing 1283 will require exposing information about the cache (the journal) deeper as to make it available within the |
@veox just in case you read these in your email, I update my response with explicit answers to your questions. |
@pipermerriam I would like to work on this issue. I might need help in between. |
@Bhargavasomu Same as #1346 (comment) probably best to stick to "Good First Issue" tagged issues until you have a better understanding of the codebase. |
This is done in #1410, isn't it? |
@5chdn correct. That said, we aren't passing all state tests yet (#1181) which means there's a high chance that our constantinople implementations (all of them) may still have bugs. That said, Trinity is still in alpha and isn't a reliable client to sync the mainnet yet so nobody should be surprised to hit serious bugs 😅 |
Confirmed finished in #1579 |
What is wrong?
ttps://eips.ethereum.org/EIPS/eip-1087https://eips.ethereum.org/EIPS/eip-1283 is coming in Constantinople
How can it be fixed
Implement the changes to how
SSTORE
costs are computed.The text was updated successfully, but these errors were encountered: