https://github.com/matter-labs/zksync-web-era-docs
zkSync Era Documentation
https://github.com/matter-labs/zksync-web-era-docs
team-core team-frontend zksync zksync-v2
Last synced: about 1 year ago
JSON representation
zkSync Era Documentation
- Host: GitHub
- URL: https://github.com/matter-labs/zksync-web-era-docs
- Owner: matter-labs
- License: mit
- Created: 2021-10-08T08:27:31.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2024-05-22T21:15:17.000Z (about 2 years ago)
- Last Synced: 2024-05-22T22:20:55.176Z (about 2 years ago)
- Topics: team-core, team-frontend, zksync, zksync-v2
- Language: JavaScript
- Homepage: https://docs.zksync.io/
- Size: 48.4 MB
- Stars: 952
- Watchers: 57
- Forks: 841
- Open Issues: 45
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
- Codeowners: CODEOWNERS
Awesome Lists containing this project
- best-of-crypto - GitHub - 30% open · ⏱️ 05.06.2024): (Others)
README
> [!WARNING]
> zksync-web-era-docs will be archived shortly!
> Find the latest at [zksync-docs](https://github.com/matter-labs/zksync-docs)
>
> For tutorials and guides, check out the [Community Code](https://github.com/zkSync-Community-Hub/community-code) repo.
# zkSync Documentation
[](CHANGELOG.md)
[](https://github.com/matter-labs/zksync-web-era-docs/blob/main/LICENSE) [](https://github.com/matter-labs/zksync-web-era-docs/blob/main/LICENSE-APACHE)
[](https://twitter.com/zksync)
## 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](https://docs.zksync.io) 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](https://zksync.io/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`.
```bash
# configure yarn version: berry or specifically 3.1.1.
$ yarn set version berry
```
### Main scripts
```bash
# 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:
```bash
# 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](https://algolia.com). Dashboard is [here](https://dashboard.algolia.com/), and [Crawler Admin](https://crawler.algolia.com/) 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:
```js
{
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
Deploying does the following:
- Installs node modules.
- Prepares, tests, and builds documentation.
- Deploys everything contained in the `dist` folder as a static website.
```bash
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[]`
```json
"dictionaryDefinitions": [
{
"name": "zksync", "path": "./cspell-zksync.txt"
}
]
```