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

Standard configuration #1259

Open
wants to merge 11 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion pages/superchain/_meta.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
{
"superchain-explainer": "The Superchain explainer",
"superchain-registry": "The Superchain Registry",
"blockspace-charter": "Blockspace Charters and the Standard Rollup Charter"
"blockspace-charter": "Blockspace Charters and the Standard Rollup Charter",
"standard-configuration": "The Standard configuration"
}
134 changes: 134 additions & 0 deletions pages/superchain/standard-configuration.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,134 @@
---
title: Standard configuration
Copy link
Collaborator

Choose a reason for hiding this comment

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

What do we think about titling the page, "What makes a chain standard?"

lang: en-US
description: Learn about the standard configuration, how the OP-Deployer aids standardization, and why adhering to these standards is essential.
Copy link
Collaborator

Choose a reason for hiding this comment

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

Learn what makes a chain standard, how op-deployer helps with standardization, and why being standard matters.

Suggested change
description: Learn about the standard configuration, how the OP-Deployer aids standardization, and why adhering to these standards is essential.
description: Learn what makes a chain standard, how op-deployer helps with standardization, and why being standard matters.

---

import { Callout } from 'nextra/components'

# The Standard configuration

The standard configuration within the OP Stack ensures that chains deployed in the Superchain ecosystem adhere to a consistent set of technical and governance parameters.
This standardization is critical for interoperability, network integrity, and ease of integration across the Superchain.
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
This standardization is critical for interoperability, network integrity, and ease of integration across the Superchain.
This standardization is critical for Superchain interoperability, network security, and ease of upgrading your chain.


This guide provides an in-depth explanation of what defines a standard configuration, how the OP-Deployer aids standardization, and why adhering to these standards is essential.
Copy link
Collaborator

Choose a reason for hiding this comment

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

lets use "op-deployer" naming convention that is used in the monorepo. Lets also add an internal link here to our op-deployer docs


## What is a Standard chain?

A standard chain in the OP Stack refers to a rollup that adheres to the following principles:

1. **Technical conformance:**
* Compliance with the OP Stack Specifications, including gas fees, block structure, and other protocol-level parameters.
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
* Compliance with the OP Stack Specifications, including gas fees, block structure, and other protocol-level parameters.
* Compliance with the consensus parameters, policy parameters, admin roles, and service roles defined in the specifications.

These requirements are currently a draft, pending governance approval. For more details, please see
this [governance thread](https://gov.optimism.io/t/season-6-draft-standard-rollup-charter/8135)
and the actual requirements in the [OP Stack Configurability Specification](https://specs.optimism.io/protocol/configurability.html).
Comment on lines +22 to +24
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
These requirements are currently a draft, pending governance approval. For more details, please see
this [governance thread](https://gov.optimism.io/t/season-6-draft-standard-rollup-charter/8135)
and the actual requirements in the [OP Stack Configurability Specification](https://specs.optimism.io/protocol/configurability.html).
For more details, please see the [OP Stack Configurability Specification](https://specs.optimism.io/protocol/configurability.html).

this has been ratified by governance

* Utilization of officially supported features and modules of the OP Stack.

2. **Governance alignment:**
* Adherence to governance principles outlined in the [Blockspace Charter](/superchain/blockspace-charter).
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
* Adherence to governance principles outlined in the [Blockspace Charter](/superchain/blockspace-charter).
* Adherence to the [Standard Rollup Charter](/superchain/blockspace-charter#the-standard-rollup-charter).

* Transparent and collaborative decision-making aligned with the Superchain ecosystem.

3. **Interoperability:**
* Maintaining compatibility with other chains in the Superchain ecosystem for seamless cross-chain interactions.
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
* Maintaining compatibility with other chains in the Superchain ecosystem for seamless cross-chain interactions.
* Maintaining compatibility with the Superchain protocol level cross-chain interactions.


Chains that deviate from these principles, such as introducing unsupported features like custom gas tokens, are considered non-standard configurations.

## Role of OP-Deployer in Standardization
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
## Role of OP-Deployer in Standardization
## Role of op-deployer in standardization


The [OP-Deployer](/builders/chain-operators/tools/op-deployer) is a powerful tool designed to automate and streamline the deployment of standard configuration-compliant chains.
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
The [OP-Deployer](/builders/chain-operators/tools/op-deployer) is a powerful tool designed to automate and streamline the deployment of standard configuration-compliant chains.
The [op-deployer](/builders/chain-operators/tools/op-deployer) is a powerful tool designed to automate and streamline the deployment of standard configuration-compliant chains.

Key features include:

* **Preconfigured templates:**
OP-Deployer provides templates that encapsulate best practices, ensuring that your chain is configured according to standard specifications.
Comment on lines +41 to +42
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
* **Preconfigured templates:**
OP-Deployer provides templates that encapsulate best practices, ensuring that your chain is configured according to standard specifications.
* **Default values:**
op-deployer provides default values that adhere to standard specifications.


* **Automated validations:**
The tool performs checks during the deployment process to flag any deviations from standard configurations, such as unsupported modules or governance misalignments.
Comment on lines +44 to +45
Copy link
Collaborator

Choose a reason for hiding this comment

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

Let's remove this because the validation checks are actually in the Superchain Registry

Suggested change
* **Automated validations:**
The tool performs checks during the deployment process to flag any deviations from standard configurations, such as unsupported modules or governance misalignments.


* **Ease of customization within standards:**
While ensuring compliance, OP-Deployer allows for minor, non-breaking customizations to suit specific use cases.
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
While ensuring compliance, OP-Deployer allows for minor, non-breaking customizations to suit specific use cases.
The op-deployer tool allows for overriding default values. For example, you can override the L2 block time to 1s, which is standard. However, please ensure you know what you're doing when applying overrides because they may violate standard specifications.


By using OP-Deployer, developers can reduce the complexity of chain deployment while ensuring alignment with Superchain standards.
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
By using OP-Deployer, developers can reduce the complexity of chain deployment while ensuring alignment with Superchain standards.
By using op-deployer, chain operators can reduce the complexity of chain deployment while ensuring alignment with Superchain standards.


<Callout type="info">
The Rollup configuration is an active work in progress and will likely evolve
significantly as time goes on. If something isn't working about your
configuration, you can refer to the [source code](https://github.com/ethereum-optimism/optimism/blob/develop/op-chain-ops/genesis/config.go).
</Callout>
Comment on lines +52 to +56
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
<Callout type="info">
The Rollup configuration is an active work in progress and will likely evolve
significantly as time goes on. If something isn't working about your
configuration, you can refer to the [source code](https://github.com/ethereum-optimism/optimism/blob/develop/op-chain-ops/genesis/config.go).
</Callout>


## Why standardization matters

Standardization benefits the Superchain ecosystem in several ways:

* **Interoperability:**
Enables seamless interactions between chains, such as cross-chain messaging and token transfers.
Comment on lines +62 to +63
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
* **Interoperability:**
Enables seamless interactions between chains, such as cross-chain messaging and token transfers.
* **Interoperability:**
A standard stack and security model makes your chain eligible for interactions between other standard chains, such as single block cross-chain messaging and token transfers.


* **Simplified Development:**
Reduces the learning curve for developers by providing consistent and predictable configurations.
Comment on lines +65 to +66
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
* **Simplified Development:**
Reduces the learning curve for developers by providing consistent and predictable configurations.
* **Simplified upgrade path:**
Reduces the complexity of upgrading your chain to the latest version.


* **Ecosystem Growth:**
Encourages a thriving ecosystem by lowering barriers to entry and fostering collaboration.
Comment on lines +68 to +69
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
* **Ecosystem Growth:**
Encourages a thriving ecosystem by lowering barriers to entry and fostering collaboration.


* **Reduced Support Overhead:**
Minimizes the need for custom support by ensuring uniformity across deployments.

**Native ETH as gas token:**
All transactions on the network must use ETH for gas payments, maintaining consistency with Ethereum's native token model.
Comment on lines +74 to +75
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
**Native ETH as gas token:**
All transactions on the network must use ETH for gas payments, maintaining consistency with Ethereum's native token model.


### Standard features

* **Default system contracts:**
Core protocol contracts must use unmodified implementations provided by the OP Stack to guarantee security and compatibility.
Comment on lines +79 to +80
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
* **Default system contracts:**
Core protocol contracts must use unmodified implementations provided by the OP Stack to guarantee security and compatibility.
* **Default system contracts:**
Core protocol contracts must use governance approved release implementations of the OP Stack to provide security and compatibility.


* **Standard bridge implementations:**
Cross-chain communication must use official bridge contracts to ensure secure and standardized asset transfers.
Comment on lines +82 to +83
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
* **Standard bridge implementations:**
Cross-chain communication must use official bridge contracts to ensure secure and standardized asset transfers.


* **Specified sequencer configurations:**
Sequencer settings must follow prescribed parameters for transaction ordering and submission to maintain network stability.

## What is Not Standard?

Certain configurations are explicitly not part of the standard setup. For example:

* **Custom Gas Tokens:**
Introducing a gas token other than the default is currently not considered standard.

* **Non-Conforming Modules:**
Using modules not officially supported by the OP Stack.
Comment on lines +95 to +96
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
* **Non-Conforming Modules:**
Using modules not officially supported by the OP Stack.


* **Modified system contracts:**
Any alterations to core system contracts break standardization and aren't supported in the official OP Stack specification.

For a detailed list of standard configurations, refer to the [Standard rollup configuration page](/superchain/blockspace-charter).

## Superchain Registry

The [Superchain Registry](/superchain/superchain-registry) is the authoritative index of all chains within the Superchain ecosystem. It ensures:

* **Transparency:**
All registered chains are publicly listed with their configurations.

* **Compliance verification:**
Chains listed in the registry are verified for adherence to the standard configuration.
Comment on lines +110 to +111
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
* **Compliance verification:**
Chains listed in the registry are verified for adherence to the standard configuration.
* **Superchain levels:**
Chains listed in the registry are denoted with a [`superchain_level`](https://github.com/ethereum-optimism/superchain-registry/blob/main/docs/glossary.md#superchain-level-and-rollup-stage) which tells you which chains are standard.


* **Community trust:**
Being part of the registry signals reliability and alignment with Superchain principles.
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
Being part of the registry signals reliability and alignment with Superchain principles.
Being part of the registry signals reliability and alignment with Optimism Collective principles.


## Next Steps

1. **Understand standards:**
Familiarize yourself with the [OP Stack specifications](https://specs.optimism.io/protocol/configurability.html) and the Blockspace Charter.

2. **Use OP-Deployer:**
Leverage OP-Deployer to ensure your chain aligns with standard configurations.
Comment on lines +121 to +122
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
2. **Use OP-Deployer:**
Leverage OP-Deployer to ensure your chain aligns with standard configurations.
2. **Use op-deployer:**
Leverage op-deployer to ensure your chain aligns with standard configurations.


3. **Seek guidance:**
Consult the [developer support](https://github.com/ethereum-optimism/developers/discussions) team for clarifications on standardization.

4. **Contribute to the ecosystem:**
Engage with the Superchain community to share feedback and propose improvements.
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
Engage with the Superchain community to share feedback and propose improvements.
Engage with the [Optimism Collective](https://community.optimism.io/) to share feedback and propose improvements.


## References

* [OP Stack Specifications](https://specs.optimism.io/protocol/configurability.html)
* [Blockspace Charter](/superchain/blockspace-charter)
* [Superchain Registry](https://github.com/ethereum-optimism/superchain-registry)
2 changes: 2 additions & 0 deletions words.txt
Original file line number Diff line number Diff line change
Expand Up @@ -167,6 +167,7 @@ JSPATH
jspath
jwtsecret
Keccak
Learn
leveldb
lightkdf
logfile
Expand Down Expand Up @@ -264,6 +265,7 @@ PPROF
pprof
Precommitments
precommitments
Preconfigured
preconfigured
predeploy
Predeployed
Expand Down