Skip to content

cleanup nitro docs #1955

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 3 commits into from
Mar 29, 2025
Merged

cleanup nitro docs #1955

merged 3 commits into from
Mar 29, 2025

Conversation

Ferret-san
Copy link
Contributor

@Ferret-san Ferret-san commented Mar 28, 2025

Summary by CodeRabbit

  • Documentation
    • Updated sidebar with clearer labels: topics now display as “Arbitrum Orbit” and “Run a local devnet.”
    • Enhanced full node guide with refined setup instructions, new configuration options, and a dedicated section on running a Celestia DA Server.
    • Revised integration documentation to reflect the transition from Nitro to Orbit with improved fallback details.
    • Streamlined local development guide with updated version references and simplified command usage for an easier setup experience.
    • Updated navigation links to direct users towards relevant topics, replacing outdated references.

@Ferret-san Ferret-san requested a review from jcstein March 28, 2025 21:52
Copy link
Contributor

coderabbitai bot commented Mar 28, 2025

Caution

Review failed

The pull request is closed.

Walkthrough

This PR updates documentation files to improve clarity and consistency. The sidebar configuration in the VitePress setup has been updated with new, more concise item titles. Additionally, several how-to guides have been revised: the full node and validator instructions now include detailed Celestia DA configuration, the integration guide has been reworked to reflect the transition from Arbitrum Nitro to Arbitrum Orbit, and the local development guide now uses updated commands and version references. No changes were made to public API declarations.

Changes

File(s) Summary of Changes
.vitepress/config.ts Renamed two sidebar items in the "Rollup stacks" section: "Introduction to Arbitrum rollups with Celestia as DA" → "Arbitrum Orbit" and "Quickstart: Local development with Nitro testnode" → "Quickstart: Run a local devnet." Additionally, removed "Ethereum fallback mechanism" from the sidebar.
how-to-guides/arbitrum-full-node.md,
how-to-guides/arbitrum-integration.md,
how-to-guides/nitro-local.md
Updated instructions across guides by clarifying steps for setting up full nodes, validators, and integrations with Celestia DA. Changes include updated configuration flags, new sections about running a Celestia DA Server, revised nomenclature shifting from Nitro to Orbit, and updates to version checkouts and startup commands for local development.
how-to-guides/blobstream-rollups.md,
how-to-guides/optimism.md
Updated navigation links to reflect the removal of the Ethereum fallback mechanism and the addition of links to new topics related to Blobstream rollups.
how-to-guides/ethereum-fallback.md Deleted file containing documentation on the Ethereum fallback mechanism for rollups, which described how L2 or L3 solutions could revert to Ethereum calldata for data availability during Celestia downtime.

Sequence Diagram(s)

sequenceDiagram
    participant User
    participant ArbitrumOrbit
    participant CelestiaServer
    participant Fallback
    User->>ArbitrumOrbit: Initiate transaction
    ArbitrumOrbit->>CelestiaServer: Request data proof
    CelestiaServer-->>ArbitrumOrbit: Return proof
    alt Fallback needed
      ArbitrumOrbit->>Fallback: Invoke fallback (Anytrust/Ethereum)
      Fallback-->>ArbitrumOrbit: Provide fallback response
    end
    ArbitrumOrbit-->>User: Deliver confirmed transaction
Loading
sequenceDiagram
    participant Developer
    participant CLI
    participant LocalDevnet
    Developer->>CLI: Clone repo & checkout v3.2.5
    Developer->>CLI: Run ./celestia-start.sh
    CLI->>LocalDevnet: Initialize local devnet environment
    LocalDevnet-->>CLI: Confirm node startup and endpoints
    Developer-->>CLI: Access local devnet
Loading

Possibly related PRs

Suggested labels

documentation

Suggested reviewers

  • Ferret-san

Poem

I'm a rabbit with hops so bright,
Document changes shine in the light.
Sidebar items prance with a brand new name,
Guides updated – every step aflame.
From local devnet to Orbit's call,
My paws applaud these changes small!
🐰✨


📜 Recent review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between e2eb505 and d9e2a83.

📒 Files selected for processing (4)
  • .vitepress/config.ts (1 hunks)
  • how-to-guides/blobstream-rollups.md (1 hunks)
  • how-to-guides/ethereum-fallback.md (0 hunks)
  • how-to-guides/optimism.md (1 hunks)

🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai plan to trigger planning for file edits and PR creation.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link
Contributor

github-actions bot commented Mar 28, 2025

PR Preview Action v1.6.0

🚀 View preview at
https://celestiaorg.github.io/docs-preview/pr-1955/

Built to branch main at 2025-03-29 00:07 UTC.
Preview will be ready when the GitHub Pages deployment is complete.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

🧹 Nitpick comments (4)
how-to-guides/arbitrum-full-node.md (1)

27-35: Specify JSON as the code block language

The code block should specify JSON as the language for proper syntax highlighting.

-```
+```json
 "node": {
  ...
     "celestia-cfg": {
         "enable": true,
         "url": "DA_SERVER_URL"
     },
 }
how-to-guides/nitro-local.md (1)

10-12: Specify bash as the code block language

The code block should specify a language for proper syntax highlighting.

-```
+```bash
 git clone -b release --recurse-submodules https://github.com/celestiaorg/nitro.git
 git checkout v3.2.5 && cd /nitro/nitro-testnode
🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

10-10: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)

how-to-guides/arbitrum-integration.md (2)

52-52: Fix typo in "guarantees"

There's a spelling error in the word "guarantees".

-The integration ensures that in the case of a challenge in which the `ReadInboxMessage` instruction is disputed, that the corresponding batch can be confirmed to be in Celestia through the use of Blobstream (default is SP1 Blobstream by Succinct), which gives us strong security gaurantees that the data was made available on Celestia.
+The integration ensures that in the case of a challenge in which the `ReadInboxMessage` instruction is disputed, that the corresponding batch can be confirmed to be in Celestia through the use of Blobstream (default is SP1 Blobstream by Succinct), which gives us strong security guarantees that the data was made available on Celestia.

56-56: Improve readability of fallback mechanism explanation

The explanation of the fallback mechanism is a very long sentence that could be broken up for better readability.

-Arbitrum Nitro natively supports the ability to "fallback" to Ethereum DA in case that writing a batch to Anytrust is unsuccessful, the Celestia DA integration goes a step beyond, enabling [fallbacks from any dapwriter to another](https://github.com/celestiaorg/nitro/blob/v3.5.2/arbnode/batch_poster.go#L1419-L1451) by introducing a [da-preference](https://github.com/celestiaorg/nitro/blob/v3.5.2/arbnode/node.go#L106) parameter to the node which allows developers to specify in which order they would like to prioritize fallbacks, for example, `["celestia", "anytrust"]` indicates the batch poster to first write to celestia, on failure fallback to anytrust, and on failure fallback to ethereum da or `"celestia" -> "anytrust" -> "blobs / calldata"`
+Arbitrum Nitro natively supports the ability to "fallback" to Ethereum DA in case that writing a batch to Anytrust is unsuccessful. The Celestia DA integration goes a step beyond, enabling [fallbacks from any dapwriter to another](https://github.com/celestiaorg/nitro/blob/v3.5.2/arbnode/batch_poster.go#L1419-L1451) by introducing a [da-preference](https://github.com/celestiaorg/nitro/blob/v3.5.2/arbnode/node.go#L106) parameter to the node.
+
+This parameter allows developers to specify the order in which they would like to prioritize fallbacks. For example:
+- `["celestia", "anytrust"]` instructs the batch poster to first write to Celestia
+- On failure, it will fallback to Anytrust
+- If that also fails, it will ultimately fallback to Ethereum DA
+
+This creates a fallback chain: `"celestia" -> "anytrust" -> "blobs / calldata"`
📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 5fdba14 and 6f3ffaf.

📒 Files selected for processing (4)
  • .vitepress/config.ts (1 hunks)
  • how-to-guides/arbitrum-full-node.md (1 hunks)
  • how-to-guides/arbitrum-integration.md (2 hunks)
  • how-to-guides/nitro-local.md (2 hunks)
🧰 Additional context used
🪛 markdownlint-cli2 (0.17.2)
how-to-guides/nitro-local.md

10-10: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)

🪛 LanguageTool
how-to-guides/arbitrum-integration.md

[style] ~42-~42: Consider a shorter alternative to avoid wordiness.
Context: ...s. ### Preimage Oracle Implementation In order to support fraud proofs, this integration ...

(IN_ORDER_TO_PREMIUM)


[style] ~43-~43: Consider a shorter alternative to avoid wordiness.
Context: ...elestia hashes that then get "unpeeled" in order to reveal the full data for a Blob. You ca...

(IN_ORDER_TO_PREMIUM)

🔇 Additional comments (15)
.vitepress/config.ts (2)

562-563: LGTM: Updated sidebar text to "Arbitrum Orbit"

This update makes the sidebar item more concise and aligns with the transition from Arbitrum Nitro to Arbitrum Orbit reflected in the documentation.


566-567: LGTM: Updated sidebar text to "Quickstart: Run a local devnet"

This change simplifies the menu item and better reflects the content of the linked page, which now focuses on running a local development environment.

how-to-guides/arbitrum-full-node.md (3)

18-24: LGTM: Simplified node setup instructions

The instructions now clearly direct users to the Arbitrum docs while highlighting the Celestia-specific configuration requirements. This improves readability and maintainability.


37-41: LGTM: Added helpful DA Server section

This new section provides valuable context about running a Celestia DA Server, including references to repository documentation and connection options.


45-46: LGTM: Updated validator configuration instructions

The instructions now include a specific link to the DA Server validator configuration, making it easier for users to set up a validating node correctly.

how-to-guides/nitro-local.md (5)

5-5: LGTM: Updated title to "Quickstart: Run a local devnet"

This title better reflects the content and purpose of the guide, and aligns with the sidebar menu item.


12-12: LGTM: Updated Git checkout version

Updated from v3.2.1-rc.2 to the newer stable v3.2.5 version.


15-15: LGTM: Updated local development startup command

Changed from ./test-node.bash --init --dev to the simpler ./celestia-start.sh, which reflects updates in the repository's scripts.


18-18: LGTM: Simplified optional commands

Removed unnecessary options while keeping the essential --anytrust option for testing fallbacks.


49-49: LGTM: Added Celestia Node endpoint

Added the Celestia Node endpoint information to the default endpoints table, completing the list of available services in the local devnet.

how-to-guides/arbitrum-integration.md (5)

2-2: LGTM: Updated description to reference Orbit instead of Nitro

The description now correctly references "Arbitrum Orbit" and mentions the fallback mechanism to both Anytrust and Ethereum.


6-6: LGTM: Updated title to reflect Arbitrum Orbit

The title has been updated to "Arbitrum Orbit with Celestia DA", which aligns with the current terminology.


25-28: LGTM: Improved key components section

The key components section has been updated with clearer, more specific anchor links and simplified terminology.


29-29: LGTM: Renamed fallback mechanism section

Updated from "Ethereum fallback mechanism" to "Fallback mechanism" to better reflect the broader fallback capabilities.


33-39: LGTM: Clarified DA provider implementation

The explanation of the DA provider interfaces and the celestia-server has been improved with specific links to code and better descriptions of the components.


[More information can be found on the Ethereum fallback mechanisms for Celestia](/how-to-guides/ethereum-fallback.md),
Copy link
Member

Choose a reason for hiding this comment

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

do you want to remove the fallback page?

Copy link
Member

Choose a reason for hiding this comment

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

you can just do things

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

🧹 Nitpick comments (9)
how-to-guides/arbitrum-full-node.md (2)

18-26: Ensure Terminology Consistency and Spacing
There’s an extra space in "Running a fullnode" (line 18) and an inconsistent use of "fullnode" versus "full node." Consider standardizing the term across the document for clarity.


27-35: Specify Language for Code Fence
The fenced code block (lines 27–35) would benefit from a language specifier (e.g., json) to satisfy markdown lint rules and improve readability.

🧰 Tools
🪛 markdownlint-cli2 (0.17.2)

27-27: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)

how-to-guides/arbitrum-integration.md (7)

12-14: Refine Sentence Structure for Clarity
The sentence beginning on line 12 could be made clearer by, for example, adding a comma after the link. This would improve the flow between the introductory phrase and the rest of the sentence.


25-29: Review Key Components Bullet List
The bullet list is well structured. Double-check that the label "fallback mechanism" is still the best term in light of the updated integration details.


33-37: DA Provider Implementation Details
This section accurately describes the interfaces and the sidecar mechanism. Note a small typo on line 37—"retrivals" should be corrected to "retrievals." Additionally, verify whether "Arbitrum Nitro code" should be updated to "Arbitrum Orbit" for consistency with the new integration focus.


39-39: Punctuation in Celestia Server Instructions
Consider inserting a comma after "Celestia server" in "To run the Celestia server see the [nitro-das-celestia] repository" (line 39) for improved readability.

🧰 Tools
🪛 LanguageTool

[uncategorized] ~39-~39: A comma might be missing here.
Context: ...aDasRpcClient.go). To run the Celestia server see the [nitro-das-celestia](https://gi...

(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)


41-45: Simplify Preimage Oracle Implementation Language
To enhance conciseness, consider replacing "In order to support" with simply "To support" in this section.

🧰 Tools
🪛 LanguageTool

[style] ~42-~42: Consider a shorter alternative to avoid wordiness.
Context: ...s. ### Preimage Oracle Implementation In order to support fraud proofs, this integration ...

(IN_ORDER_TO_PREMIUM)


[style] ~43-~43: Consider a shorter alternative to avoid wordiness.
Context: ...elestia hashes that then get "unpeeled" in order to reveal the full data for a Blob. You ca...

(IN_ORDER_TO_PREMIUM)


50-53: Blobstream Integration Details
There is a typo—"gaurantees" (line 52) should be "guarantees." Also, breaking up the long sentence might improve readability.


54-57: Clarify Fallback Mechanism Details
The description is informative; however, "dapwriter" on line 56 appears to be a typo. Consider updating it to "DA writer" (or another appropriate term) and possibly splitting the sentence for clarity.

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 6f3ffaf and e2eb505.

📒 Files selected for processing (2)
  • how-to-guides/arbitrum-full-node.md (1 hunks)
  • how-to-guides/arbitrum-integration.md (2 hunks)
🧰 Additional context used
🪛 LanguageTool
how-to-guides/arbitrum-integration.md

[uncategorized] ~39-~39: A comma might be missing here.
Context: ...aDasRpcClient.go). To run the Celestia server see the [nitro-das-celestia](https://gi...

(AI_EN_LECTOR_MISSING_PUNCTUATION_COMMA)


[style] ~42-~42: Consider a shorter alternative to avoid wordiness.
Context: ...s. ### Preimage Oracle Implementation In order to support fraud proofs, this integration ...

(IN_ORDER_TO_PREMIUM)


[style] ~43-~43: Consider a shorter alternative to avoid wordiness.
Context: ...elestia hashes that then get "unpeeled" in order to reveal the full data for a Blob. You ca...

(IN_ORDER_TO_PREMIUM)

🪛 markdownlint-cli2 (0.17.2)
how-to-guides/arbitrum-full-node.md

27-27: Fenced code blocks should have a language specified
null

(MD040, fenced-code-language)

🔇 Additional comments (5)
how-to-guides/arbitrum-full-node.md (2)

37-42: DA Server Instructions Consistency
The instructions for running a Celestia DA server are clear and consistent with previous suggestions.


43-47: Validation Instructions Accuracy
The updated link for validator configuration (line 46) appears correct and integrates well with the rest of the document.

how-to-guides/arbitrum-integration.md (3)

1-3: Updated Description Reflects New Integration Focus
The new description clearly highlights the integration with Arbitrum Orbit and the associated fallback mechanisms. The content aligns well with the updated context.


6-7: Title Update Verification
The new title, "# Arbitrum Orbit with Celestia DA", appropriately reflects the shift from Nitro to Orbit.


58-61: Next Steps Section Review
The call-to-action linking to the quickstart guide is clear. Ensure that the referenced guide is updated to mirror these changes.

Copy link
Member

@jcstein jcstein left a comment

Choose a reason for hiding this comment

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

:shipit: thank you @Ferret-san this is clean!!

@jcstein jcstein merged commit c9afa81 into main Mar 29, 2025
4 of 5 checks passed
@jcstein jcstein deleted the update-nitro-docs branch March 29, 2025 00:07
@jcstein jcstein mentioned this pull request Mar 29, 2025
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