zkSync Era Documentation
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 takes on traditional CPU architectures.
Constantly updated, zkSync Era Docs offers the most complete knowledge about the upcoming zkSync Era. zkSync Era release has built-in EVM compatibility which makes it a single key to release EVM-compatible ZK rollup. We call it zkEVM: long-awaited way to preserve the battle-tested code and knowledge gained after years of working with Solidity scaling it with Layer 2.
Build and setup
Initial setup
The Frontend team chose the yarn@berry
packager, so don't forget to 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 add
# serve with hot reload at localhost:8080
$ yarn docs:dev
# static generation to dist
$ yarn docs:build
Development
CI pipeline will check that the files are formatted according to prettier
, markdownlint
founds no issues in document
and spelling is correct. Also, there should be 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 but you're sure that it's correct, consider adding it to the cspell-zksync.txt
.
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
docs/dev/tutorials
folder. - Give the file with a SEO-friendly name as it'll be part of the URL.
- In the
docs/.vuepress/config.js
file, add the tutorial inside this block:
{
title: "Tutorials",
path: "/dev/tutorials",
collapsable: false,
children: [
"/dev/tutorials/cross-chain-tutorial.md",
"/dev/tutorials/custom-aa-tutorial.md",
"/dev/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
docs/assets/images
folder. - Finally, create a PR.
Deployment
main
branch is automatically deployed to https://console.firebase.google.com/u/0/project/aqwzx-zksync-v2-docs
Deploying altogether
will do:
- install node modules;
- prepare, test and build documentation;
- afterwards all contained into the
dist
folder will be deployed in form of the static website
yarn zk-ci-prepare
yarn firebase deploy
Extra documentation
cSpell
Configuration in .cSpell.json
:
version
— version of the setting file, always 0.1language
— language - current active spelling languagewords[]
— words - list of words to be always considered correctdictionaries[]
"dictionaryDefinitions": [
{
"name": "zksync", "path": "./cspell-zksync.txt"
}
]