-
Notifications
You must be signed in to change notification settings - Fork 270
Proposer setup guide #1645
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
base: main
Are you sure you want to change the base?
Proposer setup guide #1645
Conversation
✅ Deploy Preview for docs-optimism ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
📝 WalkthroughWalkthroughThis update introduces a comprehensive tutorial titled "Spin up your proposer," providing detailed instructions for chain operators to set up and configure an OP Stack proposer. The tutorial covers the proposer's role, prerequisites, recommended production configurations, step-by-step setup, output frequency policy, verification, and monitoring procedures. Additionally, the batcher configuration documentation is extensively expanded and restructured, offering in-depth explanations of configuration parameters, operational considerations, and chain-specific recommendations. Several tutorials receive updated or expanded "Next Steps" sections with additional resource links. A new entry for the proposer setup guide is added to the tutorials metadata. Sequence Diagram(s)sequenceDiagram
participant Operator
participant Proposer
participant L1
participant L2
participant DisputeGameFactory
Operator->>Proposer: Configure and start proposer with environment variables
Proposer->>L2: Polls for latest state root
Proposer->>L1: Posts L2 state root as output
Proposer->>DisputeGameFactory: Registers output for dispute games (if enabled)
L1-->>Operator: Confirms output root posted
Operator->>Proposer: Monitors logs and output activity
Possibly related PRs
Suggested labels
Suggested reviewers
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. 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)
Other keywords and placeholders
Documentation and Community
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 2
🧹 Nitpick comments (13)
pages/operators/chain-operators/configuration/batcher.mdx (6)
22-23
: Avoid bold for emphasis and fix comma usageThe bold markup around “definitive guide” is used for emphasis; per style guidelines, prefer plain text or italics. Also remove the unnecessary comma before “to make” in the second sentence.
Suggested diff:
- This page provides the **definitive guide** for OP Stack batcher configuration, serving as the single source of truth for chain operators. - The op-batcher posts L2 sequencer data to the L1, to make it available for verifiers. + This page provides the definitive guide for OP Stack batcher configuration, serving as the single source of truth for chain operators. + The op-batcher posts L2 sequencer data to the L1 to make it available for verifiers.
123-123
: Hyphenate compound adjectiveUse a hyphen for the compound modifier “third-party bridges” to conform to adjective-hyphenation rules.
Suggested diff:
- often Centralized Exchanges or third party bridges wait until transactions are marked safe before processing deposits and withdrawal + often Centralized Exchanges or third-party bridges wait until transactions are marked safe before processing deposits and withdrawals🧰 Tools
🪛 LanguageTool
[uncategorized] ~123-~123: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...fe head, often Centralized Exchanges or third party bridges wait until transactions are mar...(EN_COMPOUND_ADJECTIVE_INTERNAL)
169-169
: Add missing comma for clarityInsert a comma after “gas” to clearly separate clauses.
Suggested diff:
- This is to avoid sudden spikes in L1 DA-usage consuming too much available gas and causing a backlog in batcher transactions. + This is to avoid sudden spikes in L1 DA-usage consuming too much available gas, and causing a backlog in batcher transactions.🧰 Tools
🪛 LanguageTool
[uncategorized] ~169-~169: Possible missing comma found.
Context: ...This is to avoid sudden spikes in L1 DA-usage consuming too much available gas and ca...(AI_HYDRA_LEO_MISSING_COMMA)
178-178
: Clarify the requirement syntaxAdd “to” for a smoother connection between the version requirement and the action.
Suggested diff:
- Requires op-geth version `v1.101411.1` or later - Enable the `miner` API namespace: `GETH_HTTP_API: web3,debug,eth,txpool,net,miner` + Requires op-geth version `v1.101411.1` or later to enable the `miner` API namespace: + `GETH_HTTP_API: web3,debug,eth,txpool,net,miner`🧰 Tools
🪛 LanguageTool
[uncategorized] ~178-~178: Possible missing preposition found.
Context: ...geth versionv1.101411.1
or later * Enable theminer
API namespace: `GETH_HTTP_A...(AI_HYDRA_LEO_MISSING_TO)
221-221
: Insert comma before coordinating conjunctionAdd a comma before “or” in the list to match comma-style rules.
Suggested diff:
- by setting the `--data-availability-type=<blobs|calldata|auto>` flag or with the `OP_BATCHER_DATA_AVAILABILITY_TYPE` env variable. + by setting the `--data-availability-type=<blobs|calldata|auto>` flag, or with the `OP_BATCHER_DATA_AVAILABILITY_TYPE` env variable.🧰 Tools
🪛 LanguageTool
[uncategorized] ~221-~221: Possible missing comma found.
Context: ...vailability-type=<blobs|calldata|auto>flag or with the
OP_BATCHER_DATA_AVAILABILI...(AI_HYDRA_LEO_MISSING_COMMA)
257-257
: Streamline phrasingReplace “by the use of” with “using” for brevity and clarity.
Suggested diff:
- This is accomplished by the use of multi-frame channels, see the [specs]... + This is accomplished using multi-frame channels; see the [specs]...🧰 Tools
🪛 LanguageTool
[style] ~257-~257: ‘by the use of’ might be wordy. Consider a shorter alternative.
Context: ... blob transaction. This is accomplished by the use of multi-frame channels, see the [specs](h...(EN_WORDINESS_PREMIUM_BY_THE_USE_OF)
pages/operators/chain-operators/tutorials/dispute-games.mdx (2)
152-152
: Use sentence case for headingsPer guidelines, H2 headings should be sentence case. Change “## Next Steps” to:
## Next steps
154-157
: Fix bullet styling and phrasing
- Remove duplicate “deploying new dispute games” link.
- Capitalize and use an imperative (“Check out…” instead of “checkout”).
- Add periods for consistency.
Suggested:
- * For more detail on deploying new dispute games with OPCM, [see the docs](/operators/chain-operators/tutorials/dispute-games). - * Learn about [absolute prestate](/operators/chain-operators/tutorials/absolute-prestate) - * checkout the [migrating to permissionless fault proofs](/operators/chain-operators/tutorials/migrating-permissionless) guide - * [Fault proofs explainer](/stack/fault-proofs/explainer) + * Check out the [absolute prestate guide](/operators/chain-operators/tutorials/absolute-prestate). + * Check out the [migrating to permissionless fault proofs guide](/operators/chain-operators/tutorials/migrating-permissionless). + * Read the [Fault proofs explainer](/stack/fault-proofs/explainer).pages/operators/chain-operators/tutorials/absolute-prestate.mdx (1)
278-278
: Use sentence case for headingsPer guidelines, H2 headings should be sentence case. Change:
## Next Steps
to:
## Next steps
pages/operators/chain-operators/tutorials/proposer-setup-guide.mdx (4)
23-23
: Refine introductory sentence to remove personal pronouns and improve clarityAvoid using “we” in communal documentation; rephrase “so we can prove withdrawal validity” to “to prove withdrawal validity.” Also consider changing “state roots data” to “state root data” for consistency.
235-237
: Use en dash for numeric rangesReplace hyphens in ranges (e.g., “1-6 hours”, “30-60 minutes”, “5-15 minutes”) with an en dash (–) for typographical accuracy.
🧰 Tools
🪛 LanguageTool
[typographical] ~235-~235: If specifying a range, consider using an en dash instead of a hyphen.
Context: ...-------------- | | Mainnet Production | 1-6 hours | Balance cost vs. wi...(HYPHEN_TO_EN)
[typographical] ~236-~236: If specifying a range, consider using an en dash instead of a hyphen.
Context: ...thdrawal speed | | High-Value Testnet | 30-60 minutes | More frequent for tes...(HYPHEN_TO_EN)
[typographical] ~237-~237: If specifying a range, consider using an en dash instead of a hyphen.
Context: ...esting | | Development | 5-15 minutes | Fast iteration cycle...(HYPHEN_TO_EN)
239-241
: Remove bold formatting for emphasisPer style guidelines, avoid bold for emphasis. Change “Important:” to “Important:” without bold.
277-278
: Capitalize and correct the verb in the Next steps bulletChange “checkout the migrating to permissionless fault proofs guide” to “Check out the migrating to permissionless fault proofs guide” for consistency and proper imperative form.
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (6)
pages/operators/chain-operators/configuration/batcher.mdx
(5 hunks)pages/operators/chain-operators/tutorials/_meta.json
(1 hunks)pages/operators/chain-operators/tutorials/absolute-prestate.mdx
(1 hunks)pages/operators/chain-operators/tutorials/dispute-games.mdx
(1 hunks)pages/operators/chain-operators/tutorials/migrating-permissionless.mdx
(1 hunks)pages/operators/chain-operators/tutorials/proposer-setup-guide.mdx
(1 hunks)
🧰 Additional context used
📓 Path-based instructions (1)
`**/*.mdx`: "ALWAYS review Markdown content THOROUGHLY with the following criteria: - First, check the frontmatter section at the top of the file: 1. For regular pages, ensure AL...
**/*.mdx
: "ALWAYS review Markdown content THOROUGHLY with the following criteria:
- First, check the frontmatter section at the top of the file:
- For regular pages, ensure ALL these fields are present and not empty:
--- title: [non-empty] lang: [non-empty] description: [non-empty] topic: [non-empty] personas: [non-empty array] categories: [non-empty array] content_type: [valid type] ---
- For landing pages (index.mdx or files with ), only these fields are required:
--- title: [non-empty] lang: [non-empty] description: [non-empty] topic: [non-empty] ---
- If any required fields are missing or empty, comment:
'This file appears to be missing required metadata. Please check keywords.config.yaml for valid options and add the required fields manually. You can validate your changes by running:pnpm validate-metadata ```'
- Use proper nouns in place of personal pronouns like 'We' and 'Our' to maintain consistency in communal documentation.
- Avoid gender-specific language and use the imperative form.
- Monitor capitalization for emphasis. Avoid using all caps, italics, or bold for emphasis.
- Ensure proper nouns are capitalized in sentences.
- Apply the Oxford comma.
- Use proper title case for buttons, tab names, page names, and links. Sentence case should be used for body content and short phrases, even in links.
- Use correct spelling and grammar at all times (IMPORTANT).
- For H1, H2, and H3 headers:
- Use sentence case, capitalizing only the first word.
- Preserve the capitalization of proper nouns, technical terms, and acronyms as defined in the 'nouns.txt' file located in the root directory of the project.
- Do not automatically lowercase words that appear in the 'nouns.txt' file, regardless of their position in the header.
- Flag any headers that seem to inconsistently apply these rules for manual review.
- When reviewing capitalization, always refer to the 'nouns.txt' file for the correct capitalization of proper nouns and technical terms specific to the project.
"
pages/operators/chain-operators/tutorials/migrating-permissionless.mdx
pages/operators/chain-operators/tutorials/absolute-prestate.mdx
pages/operators/chain-operators/tutorials/dispute-games.mdx
pages/operators/chain-operators/configuration/batcher.mdx
pages/operators/chain-operators/tutorials/proposer-setup-guide.mdx
🪛 LanguageTool
pages/operators/chain-operators/configuration/batcher.mdx
[uncategorized] ~123-~123: If this is a compound adjective that modifies the following noun, use a hyphen.
Context: ...fe head, often Centralized Exchanges or third party bridges wait until transactions are mar...
(EN_COMPOUND_ADJECTIVE_INTERNAL)
[uncategorized] ~169-~169: Possible missing comma found.
Context: ...This is to avoid sudden spikes in L1 DA-usage consuming too much available gas and ca...
(AI_HYDRA_LEO_MISSING_COMMA)
[uncategorized] ~178-~178: Possible missing preposition found.
Context: ...geth version v1.101411.1
or later * Enable the miner
API namespace: `GETH_HTTP_A...
(AI_HYDRA_LEO_MISSING_TO)
[uncategorized] ~221-~221: Possible missing comma found.
Context: ...vailability-type=<blobs|calldata|auto>flag or with the
OP_BATCHER_DATA_AVAILABILI...
(AI_HYDRA_LEO_MISSING_COMMA)
[style] ~257-~257: ‘by the use of’ might be wordy. Consider a shorter alternative.
Context: ... blob transaction. This is accomplished by the use of multi-frame channels, see the [specs](h...
(EN_WORDINESS_PREMIUM_BY_THE_USE_OF)
pages/operators/chain-operators/tutorials/proposer-setup-guide.mdx
[typographical] ~235-~235: If specifying a range, consider using an en dash instead of a hyphen.
Context: ...-------------- | | Mainnet Production | 1-6 hours | Balance cost vs. wi...
(HYPHEN_TO_EN)
[typographical] ~236-~236: If specifying a range, consider using an en dash instead of a hyphen.
Context: ...thdrawal speed | | High-Value Testnet | 30-60 minutes | More frequent for tes...
(HYPHEN_TO_EN)
[typographical] ~237-~237: If specifying a range, consider using an en dash instead of a hyphen.
Context: ...esting | | Development | 5-15 minutes | Fast iteration cycle...
(HYPHEN_TO_EN)
🪛 Gitleaks (8.26.0)
pages/operators/chain-operators/tutorials/proposer-setup-guide.mdx
116-116: Detected a Generic API Key, potentially exposing access to various services and sensitive operations.
(generic-api-key)
⏰ Context from checks skipped due to timeout of 90000ms (3)
- GitHub Check: Redirect rules - docs-optimism
- GitHub Check: Header rules - docs-optimism
- GitHub Check: Pages changed - docs-optimism
🔇 Additional comments (2)
pages/operators/chain-operators/tutorials/_meta.json (1)
3-3
: New tutorial metadata entry looks goodThe new
"proposer-setup-guide": "Spin up your proposer"
entry correctly matches the new MDX filename and title. Everything appears consistent.pages/operators/chain-operators/tutorials/proposer-setup-guide.mdx (1)
1-17
: Complete frontmatter metadataAll required fields (title, lang, description, content_type, topic, personas, categories) are present and non-empty.
pages/operators/chain-operators/tutorials/migrating-permissionless.mdx
Outdated
Show resolved
Hide resolved
pages/operators/chain-operators/tutorials/absolute-prestate.mdx
Outdated
Show resolved
Hide resolved
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
…less.mdx Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
There was a problem hiding this 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 (2)
pages/operators/chain-operators/tutorials/proposer-setup-guide.mdx (2)
23-23
: Avoid first-person plural pronoun “we”.The sentence uses “so we can prove withdrawal validity.” Replace with “to prove withdrawal validity” to maintain an impersonal tone and avoid personal pronouns.
218-220
: Use en dash for numeric ranges in tables.Replace hyphens in “1-6 hours”, “30-60 minutes”, and “5-15 minutes” with en dashes (e.g., “1–6 hours”) for typographical accuracy.
🧰 Tools
🪛 LanguageTool
[typographical] ~218-~218: If specifying a range, consider using an en dash instead of a hyphen.
Context: ...-------------- | | Mainnet Production | 1-6 hours | Balance cost vs. wi...(HYPHEN_TO_EN)
[typographical] ~219-~219: If specifying a range, consider using an en dash instead of a hyphen.
Context: ...thdrawal speed | | High-Value Testnet | 30-60 minutes | More frequent for tes...(HYPHEN_TO_EN)
[typographical] ~220-~220: If specifying a range, consider using an en dash instead of a hyphen.
Context: ...esting | | Development | 5-15 minutes | Fast iteration cycle...(HYPHEN_TO_EN)
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (4)
pages/operators/chain-operators/tutorials/absolute-prestate.mdx
(1 hunks)pages/operators/chain-operators/tutorials/migrating-permissionless.mdx
(1 hunks)pages/operators/chain-operators/tutorials/proposer-setup-guide.mdx
(1 hunks)words.txt
(0 hunks)
💤 Files with no reviewable changes (1)
- words.txt
✅ Files skipped from review due to trivial changes (1)
- pages/operators/chain-operators/tutorials/migrating-permissionless.mdx
🚧 Files skipped from review as they are similar to previous changes (1)
- pages/operators/chain-operators/tutorials/absolute-prestate.mdx
🧰 Additional context used
📓 Path-based instructions (1)
`**/*.mdx`: "ALWAYS review Markdown content THOROUGHLY with the following criteria: - First, check the frontmatter section at the top of the file: 1. For regular pages, ensure AL...
**/*.mdx
: "ALWAYS review Markdown content THOROUGHLY with the following criteria:
- First, check the frontmatter section at the top of the file:
- For regular pages, ensure ALL these fields are present and not empty:
--- title: [non-empty] lang: [non-empty] description: [non-empty] topic: [non-empty] personas: [non-empty array] categories: [non-empty array] content_type: [valid type] ---
- For landing pages (index.mdx or files with ), only these fields are required:
--- title: [non-empty] lang: [non-empty] description: [non-empty] topic: [non-empty] ---
- If any required fields are missing or empty, comment:
'This file appears to be missing required metadata. Please check keywords.config.yaml for valid options and add the required fields manually. You can validate your changes by running:pnpm validate-metadata ```'
- Use proper nouns in place of personal pronouns like 'We' and 'Our' to maintain consistency in communal documentation.
- Avoid gender-specific language and use the imperative form.
- Monitor capitalization for emphasis. Avoid using all caps, italics, or bold for emphasis.
- Ensure proper nouns are capitalized in sentences.
- Apply the Oxford comma.
- Use proper title case for buttons, tab names, page names, and links. Sentence case should be used for body content and short phrases, even in links.
- Use correct spelling and grammar at all times (IMPORTANT).
- For H1, H2, and H3 headers:
- Use sentence case, capitalizing only the first word.
- Preserve the capitalization of proper nouns, technical terms, and acronyms as defined in the 'nouns.txt' file located in the root directory of the project.
- Do not automatically lowercase words that appear in the 'nouns.txt' file, regardless of their position in the header.
- Flag any headers that seem to inconsistently apply these rules for manual review.
- When reviewing capitalization, always refer to the 'nouns.txt' file for the correct capitalization of proper nouns and technical terms specific to the project.
"
pages/operators/chain-operators/tutorials/proposer-setup-guide.mdx
🪛 LanguageTool
pages/operators/chain-operators/tutorials/proposer-setup-guide.mdx
[typographical] ~218-~218: If specifying a range, consider using an en dash instead of a hyphen.
Context: ...-------------- | | Mainnet Production | 1-6 hours | Balance cost vs. wi...
(HYPHEN_TO_EN)
[typographical] ~219-~219: If specifying a range, consider using an en dash instead of a hyphen.
Context: ...thdrawal speed | | High-Value Testnet | 30-60 minutes | More frequent for tes...
(HYPHEN_TO_EN)
[typographical] ~220-~220: If specifying a range, consider using an en dash instead of a hyphen.
Context: ...esting | | Development | 5-15 minutes | Fast iteration cycle...
(HYPHEN_TO_EN)
🪛 Gitleaks (8.26.0)
pages/operators/chain-operators/tutorials/proposer-setup-guide.mdx
100-100: Detected a Generic API Key, potentially exposing access to various services and sensitive operations.
(generic-api-key)
⏰ Context from checks skipped due to timeout of 90000ms (4)
- GitHub Check: Redirect rules - docs-optimism
- GitHub Check: Header rules - docs-optimism
- GitHub Check: Pages changed - docs-optimism
- GitHub Check: pr-workflow
🔇 Additional comments (2)
pages/operators/chain-operators/tutorials/proposer-setup-guide.mdx (2)
1-17
: Frontmatter metadata is complete and valid.All required fields (title, lang, description, content_type, topic, personas, categories) are present and non-empty.
26-27
:✅ Verification successful
Verify that all linked pages exist and resolve correctly.
Please ensure the relative links to other tutorials and tools (e.g., rollup creation, dispute games, migrating to permissionless fault proofs, fee calculator) match actual file paths.
Run this script from the repo root to confirm the files exist:
Also applies to: 258-262
🏁 Script executed:
#!/bin/bash # Verify linked filenames exist files=( "pages/operators/chain-operators/tutorials/create-l2-rollup.mdx" "pages/operators/chain-operators/tutorials/dispute-games.mdx" "pages/operators/chain-operators/tutorials/migrating-permissionless.mdx" "pages/operators/chain-operators/tools/fee-calculator.mdx" ) for f in "${files[@]}"; do if [[ ! -f "$f" ]]; then echo "Error: $f not found" fi doneLength of output: 671
All linked pages verified
The relative links to the rollup creation, dispute games, migrating to permissionless fault proofs, and fee calculator tutorials all point to existing files inpages/operators/chain-operators/
. No further action needed.
|
||
* **State commitment**: Proposing L2 state roots to L1 at regular intervals | ||
* **Withdrawal enablement**: Providing the necessary commitments for users to prove and finalize withdrawals | ||
* **Data availability**: Ensuring L2 state transitions are verifiable from L1 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You can delete this, this is the batcher's job
|
||
### Essential parameters | ||
|
||
| Parameter | Recommended Value | Description | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These need to be updated based on my config review values. I can make a commit to get these updated
Description=OP Stack Proposer | ||
After=network.target | ||
|
||
[Service] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I updated a couple of the values below based on my config review
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
🧹 Nitpick comments (3)
pages/operators/chain-operators/tutorials/proposer-setup-guide.mdx (3)
23-24
: Avoid first-person pronouns
Replace "so we can prove withdrawal validity" with an impersonal construction.- After you have spun up your sequencer, you need to attach a proposer to post your L2 state roots data back onto L1 so we can prove withdrawal validity. + After you have spun up your sequencer, you need to attach a proposer to post your L2 state roots data back onto L1 to enable withdrawal validity proofs.
216-218
: Use en dashes for ranges in table
Replace hyphens with en dashes for consistency and typographical correctness.-| Mainnet Production | 1-6 hours | Balance cost vs. withdrawal speed | -| High-Value Testnet | 30-60 minutes | More frequent for testing | -| Development | 5-15 minutes | Fast iteration cycles | +| Mainnet Production | 1–6 hours | Balance cost vs. withdrawal speed | +| High-Value Testnet | 30–60 minutes | More frequent for testing | +| Development | 5–15 minutes | Fast iteration cycles |🧰 Tools
🪛 LanguageTool
[typographical] ~216-~216: If specifying a range, consider using an en dash instead of a hyphen.
Context: ...-------------- | | Mainnet Production | 1-6 hours | Balance cost vs. wi...(HYPHEN_TO_EN)
[typographical] ~217-~217: If specifying a range, consider using an en dash instead of a hyphen.
Context: ...thdrawal speed | | High-Value Testnet | 30-60 minutes | More frequent for tes...(HYPHEN_TO_EN)
[typographical] ~218-~218: If specifying a range, consider using an en dash instead of a hyphen.
Context: ...esting | | Development | 5-15 minutes | Fast iteration cycle...(HYPHEN_TO_EN)
258-258
: Correct “checkout” to “check out”
Use the imperative verb form as two words.-* checkout the [migrating to permissionless fault proofs](/operators/chain-operators/tutorials/migrating-permissionless) guide +* Check out the [migrating to permissionless fault proofs](/operators/chain-operators/tutorials/migrating-permissionless) guide
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (2)
pages/operators/chain-operators/tutorials/proposer-setup-guide.mdx
(1 hunks)words.txt
(1 hunks)
✅ Files skipped from review due to trivial changes (1)
- words.txt
🧰 Additional context used
📓 Path-based instructions (1)
`**/*.mdx`: "ALWAYS review Markdown content THOROUGHLY with the following criteria: - First, check the frontmatter section at the top of the file: 1. For regular pages, ensure AL...
**/*.mdx
: "ALWAYS review Markdown content THOROUGHLY with the following criteria:
- First, check the frontmatter section at the top of the file:
- For regular pages, ensure ALL these fields are present and not empty:
--- title: [non-empty] lang: [non-empty] description: [non-empty] topic: [non-empty] personas: [non-empty array] categories: [non-empty array] content_type: [valid type] ---
- For landing pages (index.mdx or files with ), only these fields are required:
--- title: [non-empty] lang: [non-empty] description: [non-empty] topic: [non-empty] ---
- If any required fields are missing or empty, comment:
'This file appears to be missing required metadata. Please check keywords.config.yaml for valid options and add the required fields manually. You can validate your changes by running:pnpm validate-metadata ```'
- Use proper nouns in place of personal pronouns like 'We' and 'Our' to maintain consistency in communal documentation.
- Avoid gender-specific language and use the imperative form.
- Monitor capitalization for emphasis. Avoid using all caps, italics, or bold for emphasis.
- Ensure proper nouns are capitalized in sentences.
- Apply the Oxford comma.
- Use proper title case for buttons, tab names, page names, and links. Sentence case should be used for body content and short phrases, even in links.
- Use correct spelling and grammar at all times (IMPORTANT).
- For H1, H2, and H3 headers:
- Use sentence case, capitalizing only the first word.
- Preserve the capitalization of proper nouns, technical terms, and acronyms as defined in the 'nouns.txt' file located in the root directory of the project.
- Do not automatically lowercase words that appear in the 'nouns.txt' file, regardless of their position in the header.
- Flag any headers that seem to inconsistently apply these rules for manual review.
- When reviewing capitalization, always refer to the 'nouns.txt' file for the correct capitalization of proper nouns and technical terms specific to the project.
"
pages/operators/chain-operators/tutorials/proposer-setup-guide.mdx
🪛 LanguageTool
pages/operators/chain-operators/tutorials/proposer-setup-guide.mdx
[typographical] ~216-~216: If specifying a range, consider using an en dash instead of a hyphen.
Context: ...-------------- | | Mainnet Production | 1-6 hours | Balance cost vs. wi...
(HYPHEN_TO_EN)
[typographical] ~217-~217: If specifying a range, consider using an en dash instead of a hyphen.
Context: ...thdrawal speed | | High-Value Testnet | 30-60 minutes | More frequent for tes...
(HYPHEN_TO_EN)
[typographical] ~218-~218: If specifying a range, consider using an en dash instead of a hyphen.
Context: ...esting | | Development | 5-15 minutes | Fast iteration cycle...
(HYPHEN_TO_EN)
🪛 Gitleaks (8.26.0)
pages/operators/chain-operators/tutorials/proposer-setup-guide.mdx
98-98: Detected a Generic API Key, potentially exposing access to various services and sensitive operations.
(generic-api-key)
⏰ Context from checks skipped due to timeout of 90000ms (4)
- GitHub Check: Redirect rules - docs-optimism
- GitHub Check: Header rules - docs-optimism
- GitHub Check: Pages changed - docs-optimism
- GitHub Check: pr-workflow
🔇 Additional comments (1)
pages/operators/chain-operators/tutorials/proposer-setup-guide.mdx (1)
1-17
: Frontmatter validation
All required metadata fields (title
,lang
,description
,topic
,personas
,categories
,content_type
) are present and non-empty.
The proposer (`op-proposer`) serves as a crucial bridge between your L2 chain and L1 Ethereum. Its primary responsibilities include: | ||
|
||
* **State commitment**: Proposing L2 state roots to L1 at regular intervals | ||
* **Withdrawal enablement**: Providing the necessary commitments for users to prove and finalize withdrawalsz |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fix typo in withdrawal description
There’s an extraneous “z” at the end of “withdrawalsz.”
- * **Withdrawal enablement**: Providing the necessary commitments for users to prove and finalize withdrawalsz
+ * **Withdrawal enablement**: Providing the necessary commitments for users to prove and finalize withdrawals
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
* **Withdrawal enablement**: Providing the necessary commitments for users to prove and finalize withdrawalsz | |
* **Withdrawal enablement**: Providing the necessary commitments for users to prove and finalize withdrawals |
🤖 Prompt for AI Agents
In pages/operators/chain-operators/tutorials/proposer-setup-guide.mdx at line
34, remove the extraneous "z" at the end of the word "withdrawalsz" to correct
the typo and make it "withdrawals."
Description
This PR creates a new tutorial guide for chain operators to spin up their proposer after setting up their sequencer.
Key Additions
poll-interval
,proposal-interval
, andnum-confirmations
DisputeGameFactory
approach.Tests
Additional context
Metadata