Cannon Fault Proof Virtual Machine
+ +Table of Contents
- Overview @@ -203,6 +205,7 @@
Exceptions
Overview
This is a description of the Cannon Fault Proof Virtual Machine (FPVM). The Cannon FPVM emulates a minimal Linux-based system running on big-endian 32-bit MIPS32 architecture. diff --git a/experimental/fault-proof/dispute-game-interface.html b/experimental/fault-proof/dispute-game-interface.html index 6bc571128..6821125b9 100644 --- a/experimental/fault-proof/dispute-game-interface.html +++ b/experimental/fault-proof/dispute-game-interface.html @@ -175,6 +175,8 @@
OP Stack Specification
Dispute Game Interface
+ +Table of Contents
- Overview @@ -182,6 +184,7 @@
DisputeGame
Interface
DisputeGameFactory
Interface
Overview
A dispute game is played between multiple parties when contesting the truthiness of a claim. In the context of an optimistic rollup, claims are made about the diff --git a/experimental/fault-proof/fault-dispute-game.html b/experimental/fault-proof/fault-dispute-game.html index 9430e5adf..ee2f8bf06 100644 --- a/experimental/fault-proof/fault-dispute-game.html +++ b/experimental/fault-proof/fault-dispute-game.html @@ -175,6 +175,8 @@
OP Stack Specification
Fault Dispute Game
+ +Table of Contents
+Overview
The Fault Dispute Game (FDG) is a specific type of dispute game that verifies the diff --git a/experimental/fault-proof/honest-challenger-fdg.html b/experimental/fault-proof/honest-challenger-fdg.html index ffb452b79..e7c1de14c 100644 --- a/experimental/fault-proof/honest-challenger-fdg.html +++ b/experimental/fault-proof/honest-challenger-fdg.html @@ -175,6 +175,8 @@
OP Stack Specification
Honest Challenger (Fault Dispute Game)
+ +Table of Contents
- Overview @@ -187,13 +189,14 @@
Resolution
Overview
The honest challenger is an agent interacting in the Fault Dispute Game (FDG) that supports honest claims and disputes false claims. An honest challenger strives to ensure a correct, truthful, game resolution. The honest challenger is also rational as any deviation from its behavior will result in negative outcomes. This document specifies the expected behavior of an honest challenger.
-Overview
The Honest Challenger has two primary duties:
- Support valid root claims in Fault Dispute Games. diff --git a/experimental/fault-proof/index.html b/experimental/fault-proof/index.html index fb4e5aa8f..f96ff3454 100644 --- a/experimental/fault-proof/index.html +++ b/experimental/fault-proof/index.html @@ -175,6 +175,8 @@
- Overview @@ -217,6 +219,7 @@
- Fault Proof VM
- Fault Proof Interactive Dispute Game
- General Terms
@@ -272,6 +274,7 @@
Glossary
- Specification Contents
+
-
+
- Experimental +
+ - Design Goals +
- Introduction diff --git a/introduction.html b/introduction.html index 9eac79e71..f2f71aa6e 100644 --- a/introduction.html +++ b/introduction.html @@ -175,6 +175,11 @@
- Foundations
@@ -201,9 +206,7 @@
Introduction
- Next Steps
- Linting: how to lint source files.
- Markdown Style Guide: how to format and structure Markdown files.
- Versioning
- line_length (
!strict && stern
): don't trip up on url lines
- - no-blanks-blockquote: enable multiple consecutive blockquotes separated by white lines -
- single-title: enable reusing
<h1>
for content
- - no-emphasis-as-heading: enable emphasized paragraphs -
- asciicheck: no symbol names with invisible unicode and such -
- goimports: group local and external import -
- Go modules
@@ -184,6 +186,7 @@
Versioning
- Typescript
- Specification Contents
+
-
+
- Experimental +
+ - Design Goals +
- Introduction @@ -243,6 +255,11 @@
- Foundations
@@ -269,9 +286,7 @@
Introduction
- Next Steps
OP Stack Specification
Fault Proof
+ +Table of Contents
Fault Proof
Overview
A fault proof, also known as fraud proof or interactive game, consists of 3 components:
-
diff --git a/glossary.html b/glossary.html
index 7e888a855..5002c3e38 100644
--- a/glossary.html
+++ b/glossary.html
@@ -175,6 +175,8 @@
OP Stack Specification
Glossary
+ +Table of Contents
General Terms
Layer 1 (L1)
diff --git a/index.html b/index.html index 51fb85b8f..57e891095 100644 --- a/index.html +++ b/index.html @@ -177,6 +177,18 @@OP Stack Specification
OP Stack Specs
This directory contains the plain english specs for Optimism, a minimal optimistic rollup protocol that maintains 1:1 compatibility with Ethereum.
+ + +Table of Contents
+-
+
Specification Contents
OP Stack Specification
Introduction
+Optimism is an EVM equivalent, optimistic rollup protocol designed to scale Ethereum while remaining maximally +compatible with existing Ethereum infrastructure. This document provides an overview of the protocol to provide context +for the rest of the specification.
+ +Table of Contents
Optimism is an EVM equivalent, optimistic rollup protocol designed to scale Ethereum while remaining maximally -compatible with existing Ethereum infrastructure. This document provides an overview of the protocol to provide context -for the rest of the specification.
+Foundations
What is Ethereum scalability?
Scaling Ethereum means increasing the number of useful transactions the Ethereum network can process. Ethereum's diff --git a/meta/index.html b/meta/index.html index 02d995a12..e9a6d72cc 100644 --- a/meta/index.html +++ b/meta/index.html @@ -175,9 +175,11 @@
OP Stack Specification
Meta Processes
+ + +This directory describes processes that we use to lint/test the specification.
-
-
OP Stack Specification
Linting
-Table of Contents
- -Markdown
-See
- -Justification for linting rules in -.markdownlint.json:
--
-
pnpm i # Install dependencies
-pnpm lint:specs:check # Run linter
-pnpm lint:specs:fix # Fix lint issues
-
-# Check links
-docker run --init -it -v `pwd`:/input lycheeverse/lychee --verbose --no-progress --exclude-loopback --exclude twitter.com --exclude-mail /input/README.md "/input/specs/**/*.md"
-
-To check links, you'll need to install lychee. The version ran in CI is 0.8.1, but
-you should install lychee 0.8.2 locally with cargo install --version 0.8.2 lychee
(there are some
-reported build problems with 0.8.1).
You can install cargo (the Rust package manager) via rustup.
-Go
-See
- -Justification for linting rules:
--
-
# Install linter globally (should not affect go.mod)
-go install github.com/golangci/golangci-lint/cmd/golangci-lint@v1.48.0
-# run linter, add --fix option to fix problems (where supported)
-golangci-lint run -E goimports,sqlclosecheck,bodyclose,asciicheck,misspell,errorlint --timeout 2m -e "errors.As" -e "errors.Is" ./...
-
OP Stack Specification
Markdown Style Guide
+ +Table of Contents
+Linting
Respect the linting rules (you can run the linter with pnpm lint
).
Notably:
diff --git a/meta/versioning.html b/meta/versioning.html index bbc7be7fb..816391ce0 100644 --- a/meta/versioning.html +++ b/meta/versioning.html @@ -175,6 +175,8 @@OP Stack Specification
Versioning
+ +Table of Contents
Go modules
Go modules that are currently versioned:
./op-service
diff --git a/print.html b/print.html
index 2d939b815..a2130f1bf 100644
--- a/print.html
+++ b/print.html
@@ -178,6 +178,18 @@ OP Stack Specification
OP Stack Specs
This directory contains the plain english specs for Optimism, a minimal optimistic rollup protocol
that maintains 1:1 compatibility with Ethereum.
+
+
+Table of Contents
+
+
+
Specification Contents
Design Goals
Introduction
+
Optimism is an EVM equivalent, optimistic rollup protocol designed to scale Ethereum while remaining maximally
+compatible with existing Ethereum infrastructure. This document provides an overview of the protocol to provide context
+for the rest of the specification.
+
+
Table of Contents
-Optimism is an EVM equivalent, optimistic rollup protocol designed to scale Ethereum while remaining maximally
-compatible with existing Ethereum infrastructure. This document provides an overview of the protocol to provide context
-for the rest of the specification.
+
Foundations
What is Ethereum scalability?
Scaling Ethereum means increasing the number of useful transactions the Ethereum network can process. Ethereum's
@@ -395,6 +410,8 @@
Next Steps
now have the context you need to dive in deeper. The world is yours!