Merged
Conversation
There's going to be a lot wrong with this. The documentation is laughably sparse. The type annotations are loose at best, and completely bonkers at worst. I haven't actually tried to validate a block, so this commit probably breaks everything... At least the scaffolding is in place though!
Review feedback
Add upstream links to sphinx templates
Since the docstrings are rendered as HTML, there's really no reason to include them in the code snippets. This commit adds a dependency on undocliteral, a hacky tool to strip docstrings when using literalinclude. This commit also removes the types from parameters in docstrings. The signatures are annotated and checked with mypy, so including the types in the docstrings is just duplicated information that can get out of sync.
Hide docstrings in included source code
…tioning - Add RLP encoding for the custom dataclasses in rlp module - Improve tests so that it verifies rlp and hash values for blocks and headers - Verify state post state transition by blocks
Verify transaction root and ommers hash in header before state transitioning
Member
|
I would nominate that this get merged soon so that additional changes can be done in smaller units and directly targeting this repository rather than the quilt fork. |
Contributor
|
Agreed! None of us can actually do the merge though. |
Implement refund counter for SSTORE
* add step to build docs in ci * make sure ci fails when docs don't build * make sure ci passes when docs are fixed
Create a tox command for live preview
Rename project to 'ethereum'
Member
|
Still seeing a stream of commits coming in. You wanna give me a poke when you're ready with something stable. |
Member
Author
|
@pipermerriam we can keep it stable until Monday if someone wants to merge this. I'm guessing by then, we'll have some more PRs that we'll want to get merged. |
Contributor
|
@lightclient happy to merge this now if you think it's ready to go! |
Member
Author
|
@timbeiko it's ready! :) |
danceratopz
pushed a commit
to danceratopz/execution-specs
that referenced
this pull request
Oct 22, 2025
* evm_transition_tool: support debug folder * spec: add support for transition tool debug folder * filler: add transition tool debug folder argument * tox: fix method name * fix: flag name * fix: rename variables
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This is the initial framework for an eth1 pyspec.
Ethereum 1.0 lacks a comprehensive and accessible specification. This creates several pain points, but the most prevalent is that intricate core changes must spend a significant amount of time describing the current state of Ethereum, before even defining the proposed changes.
The Ethereum 2.0 spec has been a great example of "spec driven development". Eventually, we'd like to merge the two specs into a uniform, all encompassing specification. Until then, we've taken the liberty to experiment with a couple slightly different approaches than the eth2 specs:
1.x.xwould be Frontier,2.x.xwould be Homestead, etc. We plan to write a handler program that runs specific releases up until a fork block and then shuttle the current state of the chain into the next release.So, with that said, we are currently working on implementing the Frontier release of Ethereum. This is very much a work-in-progress still and everything is up for discussion. We feel the sooner this work is in the open, the sooner we can get feedback from the community and potentially find additional contributors.
As of this PR, we've successfully:
add+sstoretestWe'll generally try to avoid writing our own tests wherever possible and instead rely on the
ethereum/testsformat. We plan to support thet8ninterface so that the spec can generate test cases. We'd also like to eventually sync mainnet, but that may require some work arounds.We're excited to hear people's thoughts and feedback :)