Skip to content

PatrickAlphaC/zksync-web-era-docs

This branch is 2 commits ahead of, 27 commits behind matter-labs/zksync-web-era-docs:main.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

d86e619 · May 1, 2024
Mar 30, 2024
Jul 31, 2023
Feb 16, 2023
Apr 28, 2024
Jan 11, 2022
Oct 8, 2021
Jan 16, 2024
Mar 29, 2024
Jul 27, 2023
Jan 16, 2024
Feb 16, 2023
Feb 16, 2023
Feb 16, 2023
Oct 31, 2023
Feb 16, 2023
Feb 16, 2023
Mar 25, 2024
Feb 16, 2023
Jul 31, 2023
May 1, 2024
Nov 10, 2023
Apr 10, 2024
Feb 16, 2023
Jan 16, 2024
May 5, 2023
Feb 16, 2023
Feb 16, 2023
Jan 16, 2024

Repository files navigation

zkSync Documentation

GitHub release (latest SemVer) GitHub license GitHub license Follow us!

zkEVM

zkEVM is a virtual machine that executes smart contracts in a way that is compatible with zero-knowledge-proof computation. Our zkEVM keeps EVM semantics, but is also ZK-friendly and adopts a traditional register-based CPU architecture.

zkSync Docs contain up-to-date information about zkSync. zkSync Era has built-in EVM compatibility which makes it a unified tool for releasing EVM-compatible ZK rollups. We call it zkEVM: web3, Layer 2, scaling functionality that preserves your battle-tested code and knowledge gained after years of working with Solidity.

Build and setup

Initial setup

The frontend team chose the yarn@berry package manager, so ensure you install node version LTS@14 after configuring yarn.

# configure yarn version: berry or specifically 3.1.1.
$ yarn set version berry

Main scripts

# install dependencies
$ yarn

# serve with hot reload at localhost:8080
$ yarn docs:dev
# static generation to dist
$ yarn docs:build

Development

The continuous integration pipeline uses prettier and markdownlint to ensure there are no issues with your document, that spelling is correct, and there are no dead links.

You can check it locally as follows:

# check dead links
$ yarn lint:dead
# check spelling
$ yarn lint:spell
# check with markdownlint
$ yarn lint:mdl
# check with prettier
$ yarn lint:fmt
# fix with markdownlint
$ yarn fix:mdl
# fix with prettier
$ yarn fix:fmt
# run all checks
$ yarn ci
# run all fixes
$ yarn ci:fix
# build for production
$ yarn ci:build

If lint:spell doesn't recognize a word, and you’re sure that it’s correct, consider adding it to cspell-zksync.txt.

Search

We use Algolia to index our documentation. Know more about it here. Dashboard is here, and Crawler Admin is here.

Contributions

Adding new tutorials

To add a new tutorial:

  • Fork the repository and create a new branch locally to add your changes.
  • Add the tutorial markdown file inside the build/tutorials folder.
  • Give the file an SEO-friendly name, as it is included in the live URL.
  • In the .vuepress/sidebar/en.ts file, add the tutorial inside this block:
{
  text: "Tutorials",
  link: "/dev/tutorials",
  children: [
        "/build/tutorials/cross-chain-tutorial.md",
        "/build/tutorials/custom-aa-tutorial.md",
        "/build/tutorials/aa-daily-spend-limit.md",
        "/build/tutorials/custom-paymaster-tutorial.md",
        // ADD YOUR FILE HERE
  ],
},
  • If your tutorial contains images, make sure to compress them using https://squoosh.app/ before adding them to the assets/images folder.
  • Finally, create a PR.

Deployment

The main branch is automatically deployed to https://console.firebase.google.com/u/0/project/aqwzx-zksync-v2-docs

Deploying does the following:

  • Installs node modules.
  • Prepares, tests, and builds documentation.
  • Deploys everything contained in the dist folder as a static website.
yarn zk-ci-prepare
yarn firebase deploy

Extra documentation

cSpell

Configuration in .cSpell.json:

  • version — version of the setting file, always 0.1.
  • language — current active spelling language.
  • words[] — list of correctly-spelled words.
  • dictionaries[]
"dictionaryDefinitions": [
  {
    "name": "zksync", "path": "./cspell-zksync.txt"
  }
]

About

zkSync Era Documentation

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 52.7%
  • Shell 47.3%