Awesome
<div align="center"> <br /> <br /> <a href="https://optimism.io"><img alt="Optimism" src="https://raw.githubusercontent.com/ethereum-optimism/brand-kit/main/assets/svg/OPTIMISM-R.svg" width=600></a> <br /> <h3><a href="https://optimism.io">Optimism</a> is Ethereum, scaled.</h3> <br /> </div>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.