Skip to content

ethereum-optimism/specs



Optimism

Optimism is Ethereum, scaled.


OP Stack Specification

This repository contains the Specs Book.

Please chat with us on the discussion board.

Contributing

We welcome your contributions. Read through CONTRIBUTING.md for a general overview of the contributing process for this repository.

Dependencies

Rust Toolchain

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

mdbook + plugins

cargo install mdbook mdbook-katex mdbook-linkcheck mdbook-mermaid

just installation

brew install just

Serving the book locally

just serve

Linting

doctoc is used to automatically add a table of contents.

just lint-specs-toc-check

To fix markdown linting errors:

just lint-specs-md-fix

See the markdownlint rule reference and an example config file.

Justification for linting rules in .markdownlint.json:

  • 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

To lint links:

just lint-links

lychee is used for linting links.