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

New Tutorial: Understanding the Yellow Paper's EVM Specifications #6178

Closed
wants to merge 46 commits into from
Closed

Conversation

qbzzt
Copy link
Contributor

@qbzzt qbzzt commented May 1, 2022

Description

Explained in the issue. Basically, what the yellow paper means when it comes to EVM and how to understand it (including as practice for understanding the rest of it).

Preview deploy:
https://ethereumorgwebsitedev01-qbzztethereumorgwebsitedev.gtsb.io/en/developers/tutorials/yellow-paper-evm/

Related Issue

@gatsby-cloud
Copy link

gatsby-cloud bot commented May 1, 2022

Gatsby Cloud Build Report

ethereum-org-website-dev

🎉 Your build was successful! See the Deploy preview here.

Build Details

View the build logs here.

🕐 Build time: 14m

Performance

Lighthouse report

Metric Score
Performance 🔶 24
Accessibility 💚 100
Best Practices 💚 100
SEO 💚 92

🔗 View full report

@samajammin
Copy link
Member

Nitpick but could we keep URLs all lowercase? i.e. /yellow-paper-berlin.pdf, not /yellow-paper-Berlin.pdf?

@qbzzt qbzzt requested a review from samajammin May 6, 2022 02:14
@qbzzt
Copy link
Contributor Author

qbzzt commented May 9, 2022

Nitpick but could we keep URLs all lowercase? i.e. /yellow-paper-berlin.pdf, not /yellow-paper-Berlin.pdf?

Done

Copy link
Contributor

@minimalsm minimalsm left a comment

Choose a reason for hiding this comment

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

This looks great :-) it'll be a really great resource.

Is there any reason every sentence within a paragraph is on a new line (or any quick way to fix it)? This might cause some issues when it comes to translation.

src/content/developers/tutorials/yellow-paper-evm/index.md Outdated Show resolved Hide resolved
src/content/developers/tutorials/yellow-paper-evm/index.md Outdated Show resolved Hide resolved
src/content/developers/tutorials/yellow-paper-evm/index.md Outdated Show resolved Hide resolved
src/content/developers/tutorials/yellow-paper-evm/index.md Outdated Show resolved Hide resolved
Comment on lines +38 to +40
A [Turing machine](https://en.wikipedia.org/wiki/Turing_machine) is a computational model.
Essentially, it is a simplified version of a computer, which is proved to have the same ability to run computations that a normal computer can (everything that a computer can calculate a Turing machine can calculate and vice versa).
This model makes it easier to prove various theorems about what is and what isn't comnputable.
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
A [Turing machine](https://en.wikipedia.org/wiki/Turing_machine) is a computational model.
Essentially, it is a simplified version of a computer, which is proved to have the same ability to run computations that a normal computer can (everything that a computer can calculate a Turing machine can calculate and vice versa).
This model makes it easier to prove various theorems about what is and what isn't comnputable.
A [Turing machine](https://en.wikipedia.org/wiki/Turing_machine) is a computational model. Essentially, it is a simplified version of a computer, which is proven to have the same ability to run computations that a typical computer can (everything that a computer can calculate, a Turing machine can calculate and vice versa). This model makes it easier to prove various theorems about what is and isn't computable.




## 9.4.3 (Jump Destination Validity)
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
## 9.4.3 (Jump Destination Validity)
## 9.4.3 (Jump Destination Validity) {#jump-destination-validity}

As this is a [stack machine](https://en.wikipedia.org/wiki/Stack_machine), we need to keep track of the number of items popped out (*δ*) and pushed in (*α*) by each opcode.


## 9.4.2 (Exceptional Halting)
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
## 9.4.2 (Exceptional Halting)
## 9.4.2 (Exceptional Halting) {#exceptional-halting}




## 9.4 (Execution Overview)
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
## 9.4 (Execution Overview)
## 9.4 (Execution Overview) {#execution-overview}

src/content/developers/tutorials/yellow-paper-evm/index.md Outdated Show resolved Hide resolved
Comment on lines +19 to +22
Like almost everything else in Ethereum, the Yellow Paper evolves over time.
To be able to refer to a specific version, I uploaded [the current version at writing](yellow-paper-berlin.pdf).
The section, page, and equation numbers I use will refer to that version.
It is a good idea to have it open in a different window while reading this document.
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
Like almost everything else in Ethereum, the Yellow Paper evolves over time.
To be able to refer to a specific version, I uploaded [the current version at writing](yellow-paper-berlin.pdf).
The section, page, and equation numbers I use will refer to that version.
It is a good idea to have it open in a different window while reading this document.
Like almost everything else in Ethereum, the Yellow Paper evolves over time. To be able to refer to a specific version, I uploaded [the current version at writing](yellow-paper-berlin.pdf). The section, page, and equation numbers I use will refer to that version. It is a good idea to have it open in a different window while reading this document.

@qbzzt
Copy link
Contributor Author

qbzzt commented May 23, 2022

Is there any reason every sentence within a paragraph is on a new line (or any quick way to fix it)? This might cause some issues when it comes to translation.

Git makes it very easy to see which lines have changed, so it's easiest to know what sentences changed if every sentence is its own line. I can change it to one line per paragraph if you'd like, but that would make identifying future changes harder IMAO.

Co-authored-by: Joshua <62268199+minimalsm@users.noreply.github.com>
qbzzt and others added 2 commits May 23, 2022 06:44
Co-authored-by: Joshua <62268199+minimalsm@users.noreply.github.com>
Co-authored-by: Joshua <62268199+minimalsm@users.noreply.github.com>
@qbzzt qbzzt requested a review from minimalsm May 23, 2022 13:58
@qbzzt
Copy link
Contributor Author

qbzzt commented May 26, 2022

I didn't mean to close this PR, and it doesn't seem to be letting me reopen it. I'll probably have to open another one.

@minimalsm
Copy link
Contributor

Hey @qbzzt could you check the comments here 🙏

@qbzzt
Copy link
Contributor Author

qbzzt commented May 30, 2022

The comments revolve around two issues:

  1. The anchors. I answered in New Tutorial: Understanding the Yellow Paper's EVM Specifications #6178 (comment). Is the code going to change so that these anchor tags will be required again?

  2. One line per sentence vs. one per paragraph. I answered in New Tutorial: Understanding the Yellow Paper's EVM Specifications #6178 (comment). I think my reasoning is sound, but if it isn't please tell me and I'll merge the changes.

@minimalsm
Copy link
Contributor

Git makes it very easy to see which lines have changed, so it's easiest to know what sentences changed if every sentence is its own line. I can change it to one line per paragraph if you'd like, but that would make identifying future changes harder IMAO.

One paragraph per line is definitely preferable for our translator. Let's go with that approach plz 🙏

@qbzzt
Copy link
Contributor Author

qbzzt commented Jun 8, 2022 via email

@qbzzt qbzzt mentioned this pull request Jun 8, 2022
@qbzzt qbzzt closed this Jun 8, 2022
@github-actions github-actions bot added the abandoned This has been abandoned or will not be implemented label Jun 8, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
abandoned This has been abandoned or will not be implemented content 🖋️ This involves copy additions or edits
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants