Repositories

ZKsync

Core components

Public repositoryDescription
zksync-erazk server logic, including the APIs and database accesses
zksync-wallet-vueWallet frontend
era-contractsL1 & L2 contracts, that are used to manage bridges and communication between L1 & L2. Privileged contracts that are running on L2 (like Bootloader or ContractDeployer)

Compiler

Public repositoryDescription
era-compiler-testerIntegration testing framework for running executable tests on zkEVM
era-compiler-testsCollection of executable tests for zkEVM
era-compiler-llvmzkEVM fork of the LLVM framework
era-compiler-soliditySolidity Yul/EVMLA compiler front end
era-compiler-vyperVyper LLL compiler front end
era-compiler-llvm-contextLLVM IR generator logic shared by multiple front ends
era-compiler-commonCommon compiler constants
era-compiler-llvm-builderTool for building our fork of the LLVM framework

zkEVM / crypto

Public repositoryDescription
era-zkevm_opcode_defsOpcode definitions for zkEVM - main dependency for many other repos
era-zk_evmEVM implementation in pure rust, without circuits
era-sync_vmEVM implementation using circuits
era-zkEVM-assemblyCode for parsing zkEVM assembly
era-zkevm_test_harnessTests that compare the two implementation of the zkEVM - the non-circuit one (zk_evm) and the circuit one (sync_vm)
era-zkevm_testerAssembly runner for zkEVM testing
era-boojumNew proving system library - containing gadgets and gates
era-shiviniCuda / GPU implementation for the new proving system
era-zkevm_circuitsCircuits for the new proving system
franklin-cryptoGadget library for the Plonk / plookup
rescue-poseidonLibrary with hash functions used by the crypto repositories
snark-wrapperCircuit to wrap the final FRI proof into snark for improved efficiency

Old proving system

Public repositoryDescription
era-bellman-cudaCuda implementations for cryptographic functions used by the prover
era-heavy-ops-serviceMain circuit prover that requires GPU to run
era-circuit_testing??

Tools & contract developers

Public repositoryDescription
era-test-nodeIn memory node for development and smart contract debugging
local-setupDocker-based zk server (together with L1), that can be used for local testing
zksync-cliCommand line tool to interact with ZKsync
block-explorerOnline blockchain browser for viewing and analyzing ZKsync chain
dapp-portalZKsync Wallet + Bridge DApp
hardhat-zksyncZKsync Hardhat plugins
zksolc-binsolc compiler binaries
zkvyper-binvyper compiler binaries

Examples & documentation

Public repositoryDescription
zksync-web-era-docsPublic ZKsync documentation, API descriptions etc.
zksync-contract-templatesQuick contract deployment and testing with tools like Hardhat on Solidity or Vyper
zksync-frontend-templatesRapid UI development with templates for Vue, React, Next.js, Nuxt, Vite, etc.
zksync-scripting-templatesAutomated interactions and advanced ZKsync operations using Node.js
tutorialsTutorials for developing on ZKsync

ZKsync Lite

Public repositoryDescription
zksyncZKsync Lite implementation
ZKsync-lite-docsPublic ZKsync Lite documentation
zksync-dapp-checkoutBatch payments DApp