From bcd2a289fc7462db0c0634fba0a98ffd351b2202 Mon Sep 17 00:00:00 2001 From: Blessing Krofegha Date: Mon, 28 Apr 2025 16:36:39 +0100 Subject: [PATCH 1/5] add validation of deployment docs --- pages/operators/chain-operators/deploy.mdx | 2 + .../chain-operators/deploy/_meta.json | 3 +- .../deploy/validate-deployment.mdx | 101 ++++++++++++++++++ 3 files changed, 105 insertions(+), 1 deletion(-) create mode 100644 pages/operators/chain-operators/deploy/validate-deployment.mdx diff --git a/pages/operators/chain-operators/deploy.mdx b/pages/operators/chain-operators/deploy.mdx index 4827931ca..8e5ee42e0 100644 --- a/pages/operators/chain-operators/deploy.mdx +++ b/pages/operators/chain-operators/deploy.mdx @@ -29,4 +29,6 @@ This section provides information on OP Stack genesis creation, deployment overv + + diff --git a/pages/operators/chain-operators/deploy/_meta.json b/pages/operators/chain-operators/deploy/_meta.json index 1cf642283..38dd96e7a 100644 --- a/pages/operators/chain-operators/deploy/_meta.json +++ b/pages/operators/chain-operators/deploy/_meta.json @@ -1,6 +1,7 @@ { "overview": "Overview", "smart-contracts": "Contract deployment", - "genesis": "Genesis creation" + "genesis": "Genesis creation", + "validate-deployment": "Validate contract deployment" } \ No newline at end of file diff --git a/pages/operators/chain-operators/deploy/validate-deployment.mdx b/pages/operators/chain-operators/deploy/validate-deployment.mdx new file mode 100644 index 000000000..6777c130b --- /dev/null +++ b/pages/operators/chain-operators/deploy/validate-deployment.mdx @@ -0,0 +1,101 @@ +--- +title: Validating OP Stack Deployments +lang: en-US +description: Learn how to validate your OP Stack deployment using op-validator +content_type: guide +topic: deployment-validation +personas: + - chain-operator +categories: + - chain-deployment + - standardization + - validation + - op-validator +is_imported_content: 'false' +--- + +import { Callout, Steps } from 'nextra/components' + +# Validating Your OP Stack Deployment + +After deploying the L1 smart contracts for your OP Stack chain, it's crucial to verify that your deployment conforms to the standard configuration. +This guide walks you through using `op-validator` to validate your deployment against the Superchain standard. + +## Why validate your deployment? + +Validating your deployment ensures: + +1. **Standardization** - Your chain adheres to the Superchain standards +2. **Interoperability** - Your chain will properly interact with other Superchain components +3. **Security** - Your deployment follows best practices and security guidelines +4. **Upgradeability** - Your chain can receive future protocol upgrades + +## Prerequisites + +* Completed deployment of L1 smart contracts using [op-deployer](/operators/chain-operators/deploy/smart-contracts) +* Generated genesis and rollup files +* [op-validator](/operators/chain-operators/tools/op-validator) installed + +## Validation process + + + +### Install op-validator + +If you haven't already installed op-validator, follow the [installation instructions](/operators/chain-operators/tools/op-validator#installation). + +### Prepare your configuration files + +Ensure you have the following files available: + +* `genesis.json`: The L2 genesis file generated after contract deployment +* `rollup.json`: The rollup configuration file generated after contract deployment + +If you used op-deployer, these files can be obtained with: + +```bash +op-deployer inspect genesis --workdir .deployer > .deployer/genesis.json +op-deployer inspect rollup --workdir .deployer > .deployer/rollup.json +``` +### Validate against standard configuration + +Run the op-validator to check your deployment against the standard configuration: + +```bash +op-validator check-deployment \ + --l1-rpc \ + --rollup-config /path/to/rollup.json \ + --l2-genesis /path/to/genesis.json + +``` +This command analyzes your deployment and checks for compliance with the standard configuration. + +### Review the validation report + +The validation tool will output a report detailing: + +* Conformity to standard contract deployment parameters +* Any deviations from the standard configuration +* Warnings about potential issues +* Recommendations for fixing non-standard configurations + +Example output: + +```bash +✅ SystemConfig parameters are standard +✅ L1CrossDomainMessenger implementation is standard +✅ L1StandardBridge implementation is standard +⚠️ L2OutputOracle is using non-standard submission interval +✅ OptimismPortal implementation is standard +✅ Genesis L2 timestamp matches L1 block +``` + +If the validator reports non-standard configurations, redeploy with corrected parameters, if you intend your chain to fully adhere to the Superchain standard. + + + + +## Next Steps + +* If you plan to join the Superchain, follow the [Superchain onboarding guide](/superchain/blockspace-charter). +* Configure [monitoring and maintenance](/operators/chain-operators/management/monitoring) \ No newline at end of file From 65f3147e25c72c932f838b2c11f7ba451450fdc0 Mon Sep 17 00:00:00 2001 From: Blessing Krofegha Date: Mon, 28 Apr 2025 16:40:29 +0100 Subject: [PATCH 2/5] fix lint issues --- .../deploy/validate-deployment.mdx | 87 +++++++++---------- 1 file changed, 43 insertions(+), 44 deletions(-) diff --git a/pages/operators/chain-operators/deploy/validate-deployment.mdx b/pages/operators/chain-operators/deploy/validate-deployment.mdx index 6777c130b..dd988071b 100644 --- a/pages/operators/chain-operators/deploy/validate-deployment.mdx +++ b/pages/operators/chain-operators/deploy/validate-deployment.mdx @@ -18,17 +18,17 @@ import { Callout, Steps } from 'nextra/components' # Validating Your OP Stack Deployment -After deploying the L1 smart contracts for your OP Stack chain, it's crucial to verify that your deployment conforms to the standard configuration. +After deploying the L1 smart contracts for your OP Stack chain, it's crucial to verify that your deployment conforms to the standard configuration. This guide walks you through using `op-validator` to validate your deployment against the Superchain standard. ## Why validate your deployment? Validating your deployment ensures: -1. **Standardization** - Your chain adheres to the Superchain standards -2. **Interoperability** - Your chain will properly interact with other Superchain components -3. **Security** - Your deployment follows best practices and security guidelines -4. **Upgradeability** - Your chain can receive future protocol upgrades +1. **Standardization** - Your chain adheres to the Superchain standards +2. **Interoperability** - Your chain will properly interact with other Superchain components +3. **Security** - Your deployment follows best practices and security guidelines +4. **Upgradeability** - Your chain can receive future protocol upgrades ## Prerequisites @@ -39,63 +39,62 @@ Validating your deployment ensures: ## Validation process + ### Install op-validator -### Install op-validator + If you haven't already installed op-validator, follow the [installation instructions](/operators/chain-operators/tools/op-validator#installation). -If you haven't already installed op-validator, follow the [installation instructions](/operators/chain-operators/tools/op-validator#installation). + ### Prepare your configuration files -### Prepare your configuration files + Ensure you have the following files available: -Ensure you have the following files available: + * `genesis.json`: The L2 genesis file generated after contract deployment + * `rollup.json`: The rollup configuration file generated after contract deployment -* `genesis.json`: The L2 genesis file generated after contract deployment -* `rollup.json`: The rollup configuration file generated after contract deployment + If you used op-deployer, these files can be obtained with: -If you used op-deployer, these files can be obtained with: + ```bash + op-deployer inspect genesis --workdir .deployer > .deployer/genesis.json + op-deployer inspect rollup --workdir .deployer > .deployer/rollup.json + ``` -```bash -op-deployer inspect genesis --workdir .deployer > .deployer/genesis.json -op-deployer inspect rollup --workdir .deployer > .deployer/rollup.json -``` -### Validate against standard configuration + ### Validate against standard configuration -Run the op-validator to check your deployment against the standard configuration: + Run the op-validator to check your deployment against the standard configuration: -```bash -op-validator check-deployment \ - --l1-rpc \ - --rollup-config /path/to/rollup.json \ - --l2-genesis /path/to/genesis.json + ```bash + op-validator check-deployment \ + --l1-rpc \ + --rollup-config /path/to/rollup.json \ + --l2-genesis /path/to/genesis.json -``` -This command analyzes your deployment and checks for compliance with the standard configuration. + ``` -### Review the validation report + This command analyzes your deployment and checks for compliance with the standard configuration. -The validation tool will output a report detailing: + ### Review the validation report -* Conformity to standard contract deployment parameters -* Any deviations from the standard configuration -* Warnings about potential issues -* Recommendations for fixing non-standard configurations + The validation tool will output a report detailing: -Example output: + * Conformity to standard contract deployment parameters + * Any deviations from the standard configuration + * Warnings about potential issues + * Recommendations for fixing non-standard configurations -```bash -✅ SystemConfig parameters are standard -✅ L1CrossDomainMessenger implementation is standard -✅ L1StandardBridge implementation is standard -⚠️ L2OutputOracle is using non-standard submission interval -✅ OptimismPortal implementation is standard -✅ Genesis L2 timestamp matches L1 block -``` + Example output: -If the validator reports non-standard configurations, redeploy with corrected parameters, if you intend your chain to fully adhere to the Superchain standard. + ```bash + ✅ SystemConfig parameters are standard + ✅ L1CrossDomainMessenger implementation is standard + ✅ L1StandardBridge implementation is standard + ⚠️ L2OutputOracle is using non-standard submission interval + ✅ OptimismPortal implementation is standard + ✅ Genesis L2 timestamp matches L1 block + ``` + If the validator reports non-standard configurations, redeploy with corrected parameters, if you intend your chain to fully adhere to the Superchain standard. - ## Next Steps -* If you plan to join the Superchain, follow the [Superchain onboarding guide](/superchain/blockspace-charter). -* Configure [monitoring and maintenance](/operators/chain-operators/management/monitoring) \ No newline at end of file +* If you plan to join the Superchain, follow the [Standard Rollup Charter](/superchain/blockspace-charter). +* Configure [monitoring and maintenance](/operators/chain-operators/tools/chain-monitoring) From 7fabe7d9563e15852b4bf934d2a3a81c8954209a Mon Sep 17 00:00:00 2001 From: Blessing Krofegha Date: Mon, 28 Apr 2025 16:53:04 +0100 Subject: [PATCH 3/5] update categories --- .../operators/chain-operators/deploy/validate-deployment.mdx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pages/operators/chain-operators/deploy/validate-deployment.mdx b/pages/operators/chain-operators/deploy/validate-deployment.mdx index dd988071b..6dc9defbf 100644 --- a/pages/operators/chain-operators/deploy/validate-deployment.mdx +++ b/pages/operators/chain-operators/deploy/validate-deployment.mdx @@ -7,10 +7,13 @@ topic: deployment-validation personas: - chain-operator categories: - - chain-deployment - standardization - validation - op-validator + - chain-deployment + - rollup-configuration + - genesis-configuration + - deployment-configuration is_imported_content: 'false' --- From 5ed2471fbf231e641c3c87ae368fc0bbf41eed7d Mon Sep 17 00:00:00 2001 From: Blessing Krofegha Date: Mon, 28 Apr 2025 16:59:03 +0100 Subject: [PATCH 4/5] update headers --- .../operators/chain-operators/deploy/validate-deployment.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pages/operators/chain-operators/deploy/validate-deployment.mdx b/pages/operators/chain-operators/deploy/validate-deployment.mdx index 6dc9defbf..6ba4527e3 100644 --- a/pages/operators/chain-operators/deploy/validate-deployment.mdx +++ b/pages/operators/chain-operators/deploy/validate-deployment.mdx @@ -1,5 +1,5 @@ --- -title: Validating OP Stack Deployments +title: Validating your OP Stack deployment lang: en-US description: Learn how to validate your OP Stack deployment using op-validator content_type: guide @@ -19,7 +19,7 @@ is_imported_content: 'false' import { Callout, Steps } from 'nextra/components' -# Validating Your OP Stack Deployment +# Overview After deploying the L1 smart contracts for your OP Stack chain, it's crucial to verify that your deployment conforms to the standard configuration. This guide walks you through using `op-validator` to validate your deployment against the Superchain standard. From 0d67154fb0a2705cf43f12869d517b84adae0a00 Mon Sep 17 00:00:00 2001 From: Blessing Krofegha Date: Mon, 28 Apr 2025 17:27:45 +0100 Subject: [PATCH 5/5] updated docs --- .../deploy/validate-deployment.mdx | 91 ++++++++++++------- words.txt | 2 + 2 files changed, 60 insertions(+), 33 deletions(-) diff --git a/pages/operators/chain-operators/deploy/validate-deployment.mdx b/pages/operators/chain-operators/deploy/validate-deployment.mdx index 6ba4527e3..b7237cb20 100644 --- a/pages/operators/chain-operators/deploy/validate-deployment.mdx +++ b/pages/operators/chain-operators/deploy/validate-deployment.mdx @@ -35,9 +35,9 @@ Validating your deployment ensures: ## Prerequisites -* Completed deployment of L1 smart contracts using [op-deployer](/operators/chain-operators/deploy/smart-contracts) -* Generated genesis and rollup files -* [op-validator](/operators/chain-operators/tools/op-validator) installed +* Completed deployment of L1 smart contracts using [op-deployer](/operators/chain-operators/deploy/smart-contracts). +* Generated [genesis and rollup](/operators/chain-operators/deploy/genesis) files. +* [op-validator](/operators/chain-operators/tools/op-validator) installed. ## Validation process @@ -46,55 +46,80 @@ Validating your deployment ensures: If you haven't already installed op-validator, follow the [installation instructions](/operators/chain-operators/tools/op-validator#installation). - ### Prepare your configuration files + ### Gather required information - Ensure you have the following files available: + You'll need the following information to validate your deployment: - * `genesis.json`: The L2 genesis file generated after contract deployment - * `rollup.json`: The rollup configuration file generated after contract deployment + * **L1 RPC URL:** A reliable RPC endpoint for your L1 network + * **Absolute prestate:** The absolute prestate hash of your deployment + * **Proxy admin address:** Your chain's proxy admin contract address (not the proxy admin owner) + * **System config address:** Your chain's SystemConfig contract address + * **L2 chain ID:** The chain ID of your L2 network - If you used op-deployer, these files can be obtained with: + With op-deployer, you can retrieve some of this information with: ```bash - op-deployer inspect genesis --workdir .deployer > .deployer/genesis.json - op-deployer inspect rollup --workdir .deployer > .deployer/rollup.json + # Get deployment information + op-deployer inspect l1 --workdir .deployer + + # For the absolute prestate + op-deployer inspect prestates --workdir .deployer ``` - ### Validate against standard configuration + ### Run validation for your contract version + + Run the op-validator with the appropriate version parameter matching your deployed contracts: - Run the op-validator to check your deployment against the standard configuration: + **For op-contracts v1.8.0:** ```bash - op-validator check-deployment \ - --l1-rpc \ - --rollup-config /path/to/rollup.json \ - --l2-genesis /path/to/genesis.json + ./bin/op-validator validate v1.8.0 \ + --l1-rpc-url "" \ + --absolute-prestate "" \ + --proxy-admin "" \ + --system-config "" \ + --l2-chain-id "" \ + --fail + ``` + + **For op-contracts v2.0.0:** + ```bash + ./bin/op-validator validate v2.0.0 \ + --l1-rpc-url "" \ + --absolute-prestate "" \ + --proxy-admin "" \ + --system-config "" \ + --l2-chain-id "" \ + --fail ``` - This command analyzes your deployment and checks for compliance with the standard configuration. + ### Review the validation results - ### Review the validation report + The validator will check multiple aspects of your deployment against the standard configuration: - The validation tool will output a report detailing: + * Contract implementations and versions + * Proxy configurations + * System parameters + * Cross-component relationships + * Security settings - * Conformity to standard contract deployment parameters - * Any deviations from the standard configuration - * Warnings about potential issues - * Recommendations for fixing non-standard configurations + If validation passes, you'll see a success message. If there are issues, you'll see error codes with descriptions like: - Example output: + | ERROR | DESCRIPTION | + | --------------- | -------------------------- | + | PDDG-40 | Permissioned dispute game | + | | absolute prestate mismatch | + | PDDG-ANCHORP-40 | Permissioned dispute game | + | | anchor state registry root | + | | hash mismatch | - ```bash - ✅ SystemConfig parameters are standard - ✅ L1CrossDomainMessenger implementation is standard - ✅ L1StandardBridge implementation is standard - ⚠️ L2OutputOracle is using non-standard submission interval - ✅ OptimismPortal implementation is standard - ✅ Genesis L2 timestamp matches L1 block - ``` + ### Address any validation errors + + If your deployment has validation errors: - If the validator reports non-standard configurations, redeploy with corrected parameters, if you intend your chain to fully adhere to the Superchain standard. + 1. Understand the errors - Review the error codes and descriptions. + 2. Consider redeployment - For critical issues, redeploying with corrected parameters may be necessary. ## Next Steps diff --git a/words.txt b/words.txt index 4fd103d9a..9249cfc63 100644 --- a/words.txt +++ b/words.txt @@ -14,6 +14,7 @@ alphanet Alphanets alphanets altda +ANCHORP ANDI Ankr Apeworx @@ -276,6 +277,7 @@ opstack outfile Pausability pcscdpath +PDDG Pectra pectra Pectra's