Skip to content
This repository was archived by the owner on Apr 6, 2026. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from 3 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
17 changes: 17 additions & 0 deletions components/WipCallout.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -58,3 +58,20 @@ export function InfoCallout({ context }: Props): ReactElement {
</div>
);
}

export function AltCallout({ context }: Props): ReactElement {
return (
<div className="custom-callouts nx-w-full nx-mt-6 nx-flex nx-justify-center nx-items-center nx-bg-white dark:nx-bg-black">
<div className="nx-w-full nx-px-4 nx-text-center nx-font-medium nx-text-sm nx-text-left">
{context ? (
context
) : (
<div className="nx-text-left">
The Alt-DA Mode feature is currently in <strong>Beta</strong> within the MIT-licensed OP Stack.
While it has undergone initial review by core contributors, it remains in testing and may still contain bugs or other issues.
</div>
)}
</div>
</div>
);
}
116 changes: 113 additions & 3 deletions pages/builders/chain-operators/features/alt-da-mode.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ This guide provides a walkthrough for chain operators who want to run an Alt-DA
An Alt-DA Mode OP Stack chain enables a chain operator to post and read data to any alternative data availability layer that has built a functioning OP Stack DA Server.

<Callout>
This page includes providers that meet specific [inclusion criteria](#inclusion-criteria), as outlined below.
This page includes providers that meet specific [inclusion criteria](#inclusion-criteria), as outlined below.
</Callout>

## Prerequisite
Expand All @@ -27,8 +27,8 @@ You should use at least the following compatible op\* versions when running your
* op-proposer/v1.8.0-rc.1
* op-batcher/v1.8.0-rc.1
Comment thread
krofax marked this conversation as resolved.
Outdated
* [Latest version of op-geth](https://github.com/ethereum-optimism/op-geth/releases/latest)
* For deploying your contracts, use [OP Stack v1.9.1](https://github.com/ethereum-optimism/optimism/releases/tag/v1.9.1) or later

For deploying your contracts, use the latest release.

<Callout type="info">
If you are trying to launch an Alt-DA Mode Chain using a custom gas token, follow the contract deployment instructions in our [Custom Gas Token docs](/builders/chain-operators/features/custom-gas-token.mdx).
Expand All @@ -47,7 +47,6 @@ For deploying your contracts, use the latest release.
* 0gDA's docs on how to run the [0gDA DA Server](https://github.com/0glabs/0g-da-op-plasma/blob/op0g/README.md)
* Near DA's docs on how to run the [Near DA Server](https://github.com/Nuffle-Labs/data-availability/blob/84b484de98f58a91bf12c8abe8df27f5e753f63a/docs/OP-Alt-DA.md)


### Configure Your `op-node`

* Spin up your OP chain as usual but set `--altda.enabled=true` and point both `op-batcher` and `op-node` to the DA server.
Expand Down Expand Up @@ -119,6 +118,117 @@ Alt DA teams who want to be featured on this page must meet the following criter
* Supporting detailed documentation, to be referenced [here](#setup-your-da-server)
* Functioning OP Stack devnet using your DA server with linked configuration, contract addresses, and RPC address

## Breaking Changes for Migrating Plasma to Alt-da

If you are transitioning from Plasma to Alt-da, there are several breaking changes you should be aware of. These include changes to configuration file parameters, environment variables, and CLI commands.
Before proceeding with the migration, ensure you are using [OP Stack v1.9.1](https://github.com/ethereum-optimism/optimism/releases/tag/v1.9.1) or later.

### Modify `rollup.json` Config:

Update your `rollup.json` configuration file by replacing the old Plasma config with the new Alt-DA config.
There are two possible formats for the old Plasma config:

### Legacy Plasma Config

If your config looks like this:

```json
"use_plasma": true,
"da_commitment_type": "GenericCommitment",
"da_challenge_contract_address": "0xAAA",
"da_challenge_window": 1000,
"da_resolve_window": 2000,
```

### Recent Plasma Config

Or if it looks like this:

```json
"plasma_config": {
"da_commitment_type": "GenericCommitment",
"da_challenge_contract_address": "0xAAA",
"da_challenge_window": 1000,
"da_resolve_window": 2000
}
```

### New Alt-DA Config

Replace either of the above configurations with:

```json
"alt_da": {
"da_commitment_type": "GenericCommitment",
"da_challenge_contract_address": "0xAAA",
"da_challenge_window": 1000,
"da_resolve_window": 2000
}
```

<Callout type="info">
Only include fields in the new config that were present in your old config.
</Callout>

## Updating Repository Commits

Ensure you're using the following commits (or more recent ones) to have the latest `op-stack` code compatible with the new Alt-DA config:

* Monorepo: [0bb2ff5](https://github.com/ethereum-optimism/optimism/commit/0bb2ff57c8133f1e3983820c0bf238001eca119b)
* Superchain-registry: [0c96567](https://github.com/ethereum-optimism/superchain-registry/commit/0c96567855b9a605bd8028b63d86b7296e6ec305)

## Updating OP Stack Runtime Config Parameters

### CLI Parameters

Update the following CLI parameters for both `op-node` and `op-batcher`:

| Former CLI param | Current CLI param |
| ------------------------- | ------------------------ |
| `--plasma.enabled` | `--altda.enabled` |
| `--plasma.da-server` | `--altda.da-server` |
| `--plasma.verify-on-read` | `--altda.verify-on-read` |
| `--plasma.da-service` | `--altda.da-service` |

### Environment Variables

#### op-node

| Former env var | Current env var |
| ------------------------------- | ------------------------------ |
| `OP_NODE_PLASMA_ENABLED` | `OP_NODE_ALTDA_ENABLED` |
| `OP_NODE_PLASMA_DA_SERVER` | `OP_NODE_ALTDA_DA_SERVER` |
| `OP_NODE_PLASMA_VERIFY_ON_READ` | `OP_NODE_ALTDA_VERIFY_ON_READ` |
| `OP_NODE_PLASMA_DA_SERVICE` | `OP_NODE_ALTDA_DA_SERVICE` |

#### op-batcher

| Former env var | Current env var |
| ---------------------------------- | --------------------------------- |
| `OP_BATCHER_PLASMA_ENABLED` | `OP_BATCHER_ALTDA_ENABLED` |
| `OP_BATCHER_PLASMA_DA_SERVER` | `OP_BATCHER_ALTDA_DA_SERVER` |
| `OP_BATCHER_PLASMA_VERIFY_ON_READ` | `OP_BATCHER_ALTDA_VERIFY_ON_READ` |
| `OP_BATCHER_PLASMA_DA_SERVICE` | `OP_BATCHER_ALTDA_DA_SERVICE` |

#### op-alt-da (formerly op-plasma) daserver

| Former env var | Current env var |
| ------------------------------------------ | -------------------------------------- |
| `OP_PLASMA_DA_SERVER_ADDR` | `OP_ALTDA_SERVER_ADDR` |
| `OP_PLASMA_DA_SERVER_PORT` | `OP_ALTDA_SERVER_PORT` |
| `OP_PLASMA_DA_SERVER_FILESTORE_PATH` | `OP_ALTDA_SERVER_FILESTORE_PATH` |
| `OP_PLASMA_DA_SERVER_GENERIC_COMMITMENT` | `OP_ALTDA_SERVER_GENERIC_COMMITMENT` |
| `OP_PLASMA_DA_SERVER_S3_BUCKET` | `OP_ALTDA_SERVER_S3_BUCKET` |
| `OP_PLASMA_DA_SERVER_S3_ENDPOINT` | `OP_ALTDA_SERVER_S3_ENDPOINT` |
| `OP_PLASMA_DA_SERVER_S3_ACCESS_KEY_ID` | `OP_ALTDA_SERVER_S3_ACCESS_KEY_ID` |
| `OP_PLASMA_DA_SERVER_S3_ACCESS_KEY_SECRET` | `OP_ALTDA_SERVER_S3_ACCESS_KEY_SECRET` |

After making these changes, your system should be properly configured to use the new Alt-DA Mode.

<Callout type="warning">
Remember to thoroughly test your configuration in testnet before going mainnet.
</Callout>

## Next Steps

* Additional questions? See the FAQ section in the [Alt-DA Mode Explainer](/stack/protocol/features/alt-da-mode#faqs).
Expand Down
6 changes: 5 additions & 1 deletion pages/stack/protocol/features/alt-da-mode.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,11 @@ lang: en-US
description: Learn the basic process, benefits, and considerations for running an Alt-DA mode chain.
---

import { Callout } from 'nextra/components'
import { Callout } from 'nextra/components'

import { AltCallout } from '@/components/WipCallout'

<AltCallout />

# Alt-DA Mode Explainer

Expand Down
1 change: 1 addition & 0 deletions words.txt
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,7 @@ confs
corsdomain
counterfactually
Crossmint
daserver
DATACAP
datacap
DATADIR
Expand Down