Skip to content

Commit 5b650db

Browse files
authored
Merge pull request #998 from ethereum-optimism/eth-op-differences
Port internal knowledge base info to doc
2 parents 5e3bb54 + 1816ac8 commit 5b650db

File tree

4 files changed

+31
-83
lines changed

4 files changed

+31
-83
lines changed

pages/chain/_meta.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
{
22
"getting-started": "Getting started: OP Mainnet",
3-
"differences": "Differences between Ethereum and OP Mainnet",
43
"networks": "Networks and RPC Endpoints",
54
"addresses": "Contract addresses",
65
"tokenlist": "Bridged token addresses",

pages/chain/differences.mdx

Lines changed: 0 additions & 77 deletions
This file was deleted.

pages/stack/differences.mdx

Lines changed: 29 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
---
22
title: Differences between Ethereum and OP Stack Chains
33
lang: en-US
4+
tags: ["eng-protocol"]
45
description: Learn the minor differences between the behavior of Ethereum and OP Stack chains.
56
---
67

@@ -11,6 +12,16 @@ import { Callout } from 'nextra/components'
1112
OP Stack chains are designed to be [EVM equivalent](https://web.archive.org/web/20231127160757/https://medium.com/ethereum-optimism/introducing-evm-equivalence-5c2021deb306) and introduces as few changes as possible to the Ethereum protocol.
1213
However, there are some minor differences between the behavior of Ethereum and OP Stack chains that developers should be aware of.
1314

15+
## Bridging
16+
17+
### Bridging - Deposit Transactions
18+
19+
Deposit transactions don't exist on L1's, and are how transactions on an L2 can be initiated from the L1. Importantly, this is how bridge applications can get L1 ETH or tokens into an L2 OP Stack chain. You can read more on deposit transactions [here](/stack/protocol/rollup/deposit-flow).
20+
21+
### Bridging - Withdrawal Transactions and Fault Proofs
22+
23+
Withdrawal transactions are how the state of the L2 rollup can be proven to the L1. Often this involves users withdrawing tokens or ETH to the L1. Fault proofs are the mechanism by which withdrawal transactions are currently proven to the L1. You can read more about fault proofs [here](/stack/protocol/fault-proofs/explainer).
24+
1425
## Opcodes
1526

1627
| Opcode | Solidity Equivalent | Behavior |
@@ -55,13 +66,27 @@ In all other cases, the transaction sender address is set according to the same
5566
Transactions on OP Stack chains must pay for an [L1 data fee](/stack/transactions/fees#the-l1-data-fee) on top of the standard [execution gas fee](/stack/transactions/fees#execution-gas-fee) you would expect on Ethereum.
5667
Refer to the guide on [OP Stack Transaction Fees](/stack/transactions/fees) for more information.
5768

58-
### EIP-1559 Parameters
69+
You can use the [JS library viem](https://viem.sh/op-stack) to estimate the entire transaction gas costs, including the L1 Data Fee.
70+
71+
### EIP-1559 parameters
5972

6073
The base fee on OP Stack is, like Ethereum, computed via the [EIP-1559](https://notes.ethereum.org/@vbuterin/eip-1559-faq) mechanism.
6174
The EIP-1559 parameters used by OP Stack differ per chain.
6275

6376
### Mempool rules
6477

65-
By default, OP Stack chains do not have a large public mempool like Ethereum.
66-
OP Stack mempools are typically only visible to the Sequencer of the given chain and transactions are generally executed in priority fee order (highest fee first).
67-
This is not a required behavior and certain chains may choose to have a public mempool.
78+
Unlike Ethereum, OP Stack chains do not have a public mempool.
79+
The OP Stack mempool is currently only visible to the Sequencer.
80+
The Sequencer executes transactions from the mempool in priority fee order (highest fee first).
81+
82+
## Chain Finality
83+
84+
Unlike L1s such as Ethereum, OP Stack chains have Unsafe, Safe, and Finalized Heads which indicate the state of finality for a given L2 block. Fault proofs do not impact the finalization of the L2 rollup, only the finalization of withdrawal transactions to the L1. You can read more about these [in the docs glossary](/resources/glossary#unsafe-l2-block).
85+
86+
## What's Next
87+
88+
There are various useful tools linked above. Here are a few more tools and links you may want to check out:
89+
90+
* [OP-viem](https://viem.sh/op-stack): JS framework that can handle many of these unique functions on OP Chains. It is similar to Ethers.js for OP Stack chains.
91+
92+
* [Specs](https://specs.optimism.io/root.html): For more in-depth technical explanations and examples.

public/_redirects

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,4 +103,5 @@
103103
/stack/operators/features/op-txproxy /builders/chain-operators/tools/op-txproxy
104104
/stack/operators/features/proxyd /builders/chain-operators/tools/proxyd
105105
/builders/notices/granite-changes https://github.com/ethereum-optimism/docs/blob/ef619668ae44276edecdfd657157254b9809e2d6/pages/builders/notices/granite-changes.mdx
106-
/builders/notices/fp-changes https://github.com/ethereum-optimism/docs/blob/ef619668ae44276edecdfd657157254b9809e2d6/pages/builders/notices/fp-changes.mdx
106+
/builders/notices/fp-changes https://github.com/ethereum-optimism/docs/blob/ef619668ae44276edecdfd657157254b9809e2d6/pages/builders/notices/fp-changes.mdx
107+
/chain/differences /stack/differences

0 commit comments

Comments
 (0)