Skip to content

Learn evm expansion #208

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

Merged
merged 5 commits into from
Jan 31, 2023
Merged

Learn evm expansion #208

merged 5 commits into from
Jan 31, 2023

Conversation

bohendo
Copy link
Contributor

@bohendo bohendo commented Jan 27, 2023

  • Adds a page describing transaction traces, how to generate them, and tips on how to navigate them without getting lost.
  • Adds another page with a symbolic reference for use while reading the yellow paper + mention of a more up-to-date EVM reference.
  • Expands the evm opcodes page with pseudo-code for (almost) all of the opcodes & links from the table to a spot for more detailed discussions.
  • Lastly, updates the readme to reflect the additions mentioned above.


So, you want to read the yellow paper. Before we dive in, keep in mind that the yellow paper is out of date and some in the community might refer to it as being depreciated. Check out the [BRANCHES.md](https://github.com/ethereum/yellowpaper/blob/master/BRANCHES.md) file of the [`yellowpaper` repository on github](https://github.com/ethereum/yellowpaper) to stay up-to-date on how closely this document tracks the latest version of the Ethereum protocol. At the time of writing, the yellow paper is up to date with the Berlin hardfork which occurred in April 2021.

For a more up-to-date reference, check out the [Ethereum Specification](https://ethereum.github.io/execution-specs/autoapi/ethereum/) which features a detailed description of each opcode *for each hardfork* in addition to reference implementations written in python.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can also refer to https://github.com/crytic/building-secure-contracts/blob/master/learn_evm/eips_forks.md, to get visibility on the EIPs included for each fork


That said, the yellow paper is still a rich resource for ramping up on the fundamentals of the Ethereum protocol. This document aims to provide some guidance and assistance in deciphering Ethereum's flagship specification.

As you review the following, keep in mind that additions and corrections are welcome and are covered by bounties from Trail of Bits. Join us in #ethereum on the [Empire Hacking Slack](https://empireslacking.herokuapp.com) to discuss Ethereum specifications and tool development.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we can remove the mention to the bounties, here and in the other section (I saw it at least in the opcode section). In practice this has low visibility, and repeating on some pages does not help

@montyly montyly merged commit 2b48a85 into master Jan 31, 2023
@montyly montyly deleted the learn-evm-expansion branch January 31, 2023 10:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants