zksync-web-era-docs
zksync-web-era-docs copied to clipboard
zkSync Era Documentation
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/tutorialsfolder. - Give the file with a SEO-friendly name as it'll be part of the URL.
- In the
docs/.vuepress/config.jsfile, 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/imagesfolder. - 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
distfolder 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"
}
]