Git Product home page Git Product logo

Comments (1)

platocrat avatar platocrat commented on July 28, 2024

My notes/questions are delineated by section of docs


Questions [UNIMPLEMENTED]

1. Running on the OVM

  • Can Optimism users opt-in to whether to use @eth-optimism/solc or @eth-optimism/ovm-toolchain? Or is one NPM package recommended over the over? Asked becuase the Scopelift tutorial is still being referenced. I thought that tutorial was now considered outdated because it used the toolchain instead of the Optimism's new solc version?

2. Running on OE

Local development

  • Having the E2E system running locally isn't as satisfactory as having the system instance connected/ready to run your contracts with a single command. So, there should be some additional text that guides the user on how this is done. (Looks like the specifics for how to do this are within optimism-integration and integration-tests? Is yes, adding the most relevant portions of those README's here would be a helpful.)
Gotchas
  • Is this chainID unique only to the local instance? Or does this chainID appear elsewhere?
  • When will we know about how much or what to expect forL2 fees?

3. Bridging L1 and L2

  • This section can use some TLC to clarify message passing. Overall, needs an explanation on the significance of message passing for apps (so apps know whether they need it).

Notes/Corrections/Clarifications and otherwise Quick-fixed [IMPLEMENTED]

Overview

  • Point 2 can be clearer by using the description of what a full L2 is from section 2: "Integrate full local copy of Optimistic Ethereum (OE): get those contracts running on a local instance of the full L2 system, including a local L1 chain, sequencer, etc."

1. Running on the OVM

  • Second paragraph: could clearly explain that the docs will expect you to have completed some tutorial (whether the optimism-tutorial or Scopelift's (if still relevant)) or already have your optimism contracts ready to go.
    - Perhaps rewrite the last sentence as: "For the rest of this documentation, we'll expect you to have your prewritten OVM-compatible contracts ready to go. If you need help writing them, you can follow our optimism-tutorial here, which should be pretty seamless."
  • Fix broken link, "here is an example config file" -- also reference Ben's advice on using the config file and add relevant helpful text afterwards
  • Typo in the third paragraph: "but, these packages NPM have got you covered:" should be "But, these NPM packages have got you covered:"
  • There should be links to GitHub pages for those npm packages:
    - @eth-optimism/solc: exports OVM compiler for [email protected]/0.6/0.7
    - @eth-optimism/ovm-toolchain: exports "OVM-ified" waffleV3.mockProvider and ganache packages which will work with contracts output by the compiler.
  • The italicized note before the troubleshoot section:
    - Could remove the double backslashes "//" at the beginning
    - Break up first two points into 2 separate sentences

Troubleshooting

  • First line can be more clearly rewritten as:
    - "There are some small differences between the EVM and the OVM (such as removing usage of EVM opcodes which do not have an equivalent in OVM L2.) which could require some debugging at this stage. For help with these, you can check out the following resources:"
  • Referencing the Scopelift tut here again, but is this tutorial still helpful? (see question about using solc vs. toolchain).
  • Third resource could use embedded link:
    - "For a DEEP robust explanation of ALL OVM <> EVM incompatibilities"

2. Running on OE

Local deployment

  • Before introducing the commands, make sure to clarify that Docker must be running :); rewrite the second sentence as, "Remember to make sure docker is running before running any commands. You can check out the full usage page for the full list of commands, but the basic commands to run are:"

3. Bridging L1 and L2


Edit 2

Reorganized notes for better readability.
Quick-fixes have all been implemented in the PR.
Waiting for review/answers to the questions.

from community-hub.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.