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

[Draft] Add how to verify l2 state on l1 page #1067

Draft
wants to merge 9 commits into
base: master
Choose a base branch
from

Conversation

Jason-W123
Copy link
Contributor

No description provided.

Copy link

vercel bot commented Mar 6, 2024

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Updated (UTC)
arbitrum-docs 🛑 Canceled (Inspect) May 30, 2024 8:26am

@symbolpunk
Copy link
Contributor

In review


Assume that there is a contract called `foo` on child chain, and its contract address is `fooAddress`, now we want to prove its state value at storage `slot`.

To verify the state, we need a Merkle Trie Verifier contract, one example is [Lib_MerkleTrie.sol](https://github.com/ethereum-optimism/optimism-legacy/blob/8205f678b7b4ac4625c2afe351b9c82ffaa2e795/packages/contracts/contracts/libraries/trie/Lib_MerkleTrie.sol).
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Can we have optimism's repo refer here?

Copy link
Contributor

Choose a reason for hiding this comment

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

Hmm... is an example available that does not point to a competitor's assets?

Copy link
Contributor

@hkalodner hkalodner Mar 8, 2024

Choose a reason for hiding this comment

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

It's open source so I think we're happy to use it

Copy link
Contributor

@symbolpunk symbolpunk left a comment

Choose a reason for hiding this comment

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

Awesome new doc. Some nits are noted above; I'm pausing review until aligned (marking as Draft to indicate that we're aligning/iterating)

arbitrum-docs/devs-how-tos/how-to-get-l2block-on-l1.mdx Outdated Show resolved Hide resolved
arbitrum-docs/devs-how-tos/how-to-get-l2block-on-l1.mdx Outdated Show resolved Hide resolved

Before we begin, we will introduce the key component: rblock, assertion and send roots.

# Rblock and Assertion
Copy link
Contributor

@symbolpunk symbolpunk Mar 7, 2024

Choose a reason for hiding this comment

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

There's some duplication between this content and The Rollup Chain in Inside Arbitrum Nitro.

This is also explaining how things work, not how you, dear developer, can do something.

One option would be to:

  1. Merge all of the information that explains "how it works" into the above-linked Inside Arbitrum Nitro concept document (so we're not fragmenting this content across multiple docs that may drift apart as Nitro evolves).
  2. Provide a condensed version of this upfront, linking to Inside Nitro.
  3. Jump right into "How to verify a confirmed child chain block hash".

It could also be useful to explicitly state - when and why would a developer need to complete these steps? When do they need to care about manually verifying state? Is this a "just in case you don't trust the underlying protocol" thing? I imagine some developers may expect this to be baked into the protocol and effectively abstracted away from the happy path, so getting more precise about the "user story" above can help us align on a more precisely targeted content objective.

As a developer who ______, I want to learn how to ________ when/because ________

I'll pause this review until we're aligned on the above nits 👍

@symbolpunk symbolpunk marked this pull request as draft March 7, 2024 16:05
@symbolpunk symbolpunk changed the title Add how to verify l2 state on l1 page [Draft] Add how to verify l2 state on l1 page Mar 7, 2024
@symbolpunk
Copy link
Contributor

Thanks for syncing up @Jason-W123 - next steps for me:

  1. Refactor to minimize duplication
  2. Take a stab at clarifying the target audience / use-case for this guidance

(If this is time-sensitive, we can push now and handle the above through a follow-up PR)

@CLAassistant
Copy link

CLAassistant commented Nov 26, 2024

CLA assistant check
All committers have signed the CLA.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants