• Stars
    star
    471
  • Rank 92,452 (Top 2 %)
  • Language
    Solidity
  • License
    MIT License
  • Created over 1 year ago
  • Updated 21 days ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Smart Contract Submodule For zkSync Era

zkSync Era: Smart Contracts

Logo

zkSync Era is a layer 2 rollup that uses zero-knowledge proofs to scale Ethereum without compromising on security or decentralization. Since it's EVM compatible (Solidity/Vyper), 99% of Ethereum projects can redeploy without refactoring or re-auditing a single line of code. zkSync Era also uses an LLVM-based compiler that will eventually let developers write smart contracts in C++, Rust and other popular languages.

This repository contains both L1 and L2 zkSync smart contracts. For their description see the system overview.

Disclaimer

It is used as a submodule of a private repo. Compilation and test scripts should work without additional tooling, but others may not.

License

zkSync Era contracts are distributed under the terms of the MIT license.

See LICENSE-MIT for details.

Official Links

Disclaimer

zkSync Era has been through lots of testing and audits. Although it is live, it is still in alpha state and will go through more audits and bug bounties programs. We would love to hear our community's thoughts and suggestions about it! It is important to state that forking it now can potentially lead to missing important security updates, critical features, and performance improvements.

More Repositories

1

awesome-zero-knowledge-proofs

A curated list of awesome things related to learning Zero-Knowledge Proofs (ZKP).
5,133
star
2

zksync

zkSync: trustless scaling and privacy engine for Ethereum
Rust
4,867
star
3

zksync-era

zkSync era
Rust
3,075
star
4

zksync-web-era-docs

zkSync Era Documentation
JavaScript
986
star
5

zksync-lite-docs

zkSync Lite documentation
Shell
778
star
6

zksync-wallet-vue

zkSync Lite web wallet
Vue
521
star
7

l2-intro-pre-ethdenver

Introduction to layer two and zkSync
TypeScript
356
star
8

era-test-node

In-memory node that can be used for integration testing and debugging.
Rust
310
star
9

zinc

The Zinc language public repository
Rust
310
star
10

era-boojum

Boojum, the scariest SNARK implementation.
Rust
299
star
11

hardhat-zksync

TypeScript
281
star
12

era-sync_vm

Circuit Implementation of zkVM for zkSync Era
Rust
275
star
13

foundry-zksync

Fork of Foundry tailored for zkSync environment
Rust
272
star
14

era-system-contracts

Implementation of the system contracts
Solidity
202
star
15

zksync-cli

CLI tool that simplifies ZKsync development
TypeScript
159
star
16

era-tutorial-examples

[DEPRECATED ]Full examples for tutorials in the zkSync Era documentation. Visit: https://github.com/matter-labs/tutorials
TypeScript
130
star
17

zksync-dapp-checkout

zkCheckout — trustable permissionless DeFi payment gateway. Fast & cheap transfers / simple & quick withdrawal
Vue
124
star
18

block-explorer

zkSync Era Block Explorer
TypeScript
121
star
19

paymaster-examples

Ready to use paymaster contracts for zkSync Era
TypeScript
105
star
20

era-zk_evm

Out-of-circuit zkEVM implementation
Rust
80
star
21

hodor

Open source implementation of zkSTARKs in pure Rust
Rust
79
star
22

era-bellman-cuda

A library implementing GPU-accelerated cryptographic functionality for the zkSync prover
Cuda
69
star
23

eip1962

EIP1962 implementation effort
Rust
65
star
24

franklin-crypto

Rust
63
star
25

local-setup

zkSync 2.0 setup for local development
Shell
62
star
26

zksync-hardhat-template

[DEPRECATED] Template project for zksync-hardhat
TypeScript
62
star
27

v2-testnet-contracts

Solidity
61
star
28

era-compiler-solidity

Solidity compiler for ZKsync
Rust
61
star
29

era-zkevm_test_harness

Compare in-circuit and out-of-circuit VMs
Rust
59
star
30

era-zkevm_circuits

Rust
58
star
31

era-consensus

Consensus layer implementation for zkSync Era
Rust
56
star
32

zksolc-bin

Releases of the Solidity compiler for ZKsync
54
star
33

zksync-withdrawal-finalizer

zkSync 2.0 Withdrawal Finalizer
Rust
54
star
34

zk_os

OS for next iteration of the world computer
Rust
42
star
35

zksync-link

PayNow - Create payment links, get paid in tokens
Svelte
41
star
36

tutorials

TypeScript
40
star
37

rescue-poseidon

Rescue and Poseidon hash function implementations
Rust
40
star
38

curve-zinc

The Curve Stableswap smart contract implementation in Zinc v0.2.2.
Rust
39
star
39

solidity_plonk_verifier

Solidity verifier for Plonk
Solidity
38
star
40

recursive_aggregation_circuit

Kate commitment based PLONK recursive aggregation circuit
Solidity
38
star
41

era-zkevm_opcode_defs

Definitions of zkEVM opcodes (primary dependency for all other repos)
Rust
37
star
42

era-compiler-vyper

Vyper compiler for ZKsync
Rust
33
star
43

schnorr-musig

Simple Schnorr Multi-Signatures
Rust
28
star
44

zkSync-account-abstraction-template

28
star
45

zksync-contract-templates

Contract Templates for zkSync: solidity, hardhat, vyper
TypeScript
28
star
46

era-shivini

A library implementing GPU-accelerated zkSync prover.
Rust
27
star
47

custom-aa-tutorial

A full example for the tutorial on custom AA
Solidity
27
star
48

zkvyper-bin

Releases of the Vyper compiler for ZKsync
27
star
49

era-compiler-llvm

ZKsync fork of the LLVM framework
C++
26
star
50

cross-chain-tutorial

TypeScript
25
star
51

era-boojum-cuda

A library implementing GPU-accelerated cryptographic functionality for the zkSync prover.
Rust
25
star
52

era-heavy-ops-service

Specialized GPU Prover for zkSync Era
Rust
24
star
53

compiler-solidity

The zkEVM Solidity compiler.
Rust
22
star
54

hackathon-winner-projects

A list of all the projects submitted in all zksync hackathons.
22
star
55

era-boojum-validator-cli

Rust
20
star
56

zksync-web-landing

zkSync.io landing page
CSS
20
star
57

risc_v_simulator

Rust
19
star
58

era-zkevm_tester

Adapter between zk_evm and era-compiler-tester
Rust
19
star
59

custom-paymaster-tutorial

Full example for the custom paymaster tutorial in the documentation
TypeScript
19
star
60

z-prize-msm-gpu

Submission for https://www.zprize.io/prizes/accelerating-msm-operations-on-gpu-fpga
Cuda
19
star
61

era-compiler-llvm-context

Shared front-end code of the ZKsync compilers
Rust
17
star
62

vm2

High performance EraVM for zkSync.
Rust
15
star
63

z-prize-msm-gpu-combined

Combined solution from Matter Labs and Yrrid based on their respective submissions for the Z-Prize category Accelerating MSM Operations on GPU/FPGA
Cuda
15
star
64

era-compiler-tester

Integration testing framework for ZKsync compilers
Rust
14
star
65

era-compiler-tests

Collection of tests for ZKsync compilers
Solidity
13
star
66

eravm-spec

Coq
13
star
67

compiler-llvm

The zkEVM fork of the LLVM framework
12
star
68

era-revm

revm (Rust Ethereum VM) translation for Era / zkEVM
Rust
11
star
69

era-solidity

ZKsync fork of the original Solidity compiler
C++
11
star
70

era-compiler-llvm-builder

ZKsync LLVM framework builder
Rust
10
star
71

ETHLisbon-2022-hackathon

Information about MatterLabs bounty program for ETH Lisbon 2022 hackathon
TypeScript
10
star
72

era-hardhat-with-plugins

A zkSync Hardhat project configured with multiple plugins to improve the developer experience
TypeScript
10
star
73

era-zkEVM-assembly

The zkEVM assembly tools
Rust
10
star
74

zksync-packages-info

Information about the different packages and SDKs by MatterLabs to interact with zkSync Era
Vue
10
star
75

.github

zkSync Frontend Team workflow configuration
10
star
76

zksync-v2-issues

Report issues encountered when using the zkSync 2.0 testnet.
9
star
77

proof_system_info_v1.0

Information about proof system used in zkSync v1.0
8
star
78

aa-signature-checker

TypeScript
8
star
79

era-zk_evm_abstractions

Rust
8
star
80

vise

Tools to define and export metrics in Rust libraries and apps
Rust
8
star
81

zksync-frontend-templates

Frontend Templates for zkSync: vue, react, next, wagmi
TypeScript
8
star
82

l2-intro-ethdenver

Introduction to layer 2 protocols and smart contract examples on zkSync for ETH Denver
Vue
8
star
83

vault-auth-tee

Hashicorp Vault plugin for authenticating Trusted Execution Environments (TEE) like SGX enclaves
Go
8
star
84

nixsgx

Reproducible Nix packages for TEEs
Nix
8
star
85

eip1962_specs

Specification documents for EIP1962
7
star
86

compiler-infra

Docker images with build tools for compiler repos
Dockerfile
7
star
87

demo-circuit

Rust
7
star
88

zkcli-block-explorer

zkSync Block Explorer module for zkcli
TypeScript
7
star
89

zksync-hardhat-vyper-template

[DEPRECATED] Template project for zksync-cli. Includes a Vyper smart contract, tests and script to deploy to zkSync Era
TypeScript
7
star
90

compiler-tests

The compiler tests collection
Solidity
6
star
91

zksync-hardhat-ft-template

Template for a fungible token project on zkSync Era
TypeScript
6
star
92

zksync-dapp-forced-exit

CSS
6
star
93

gated-nft-tutorial

TypeScript
5
star
94

teepot

Key Value store in a TEE with Remote Attestation for Authentication
Rust
5
star
95

ansible-en-role

Ansible role for zkSync Era External Node
Jinja
5
star
96

l2-intro-demo

Introduction to layer 2 protocols and smart contract examples on zkSync
TypeScript
5
star
97

multisig

JavaScript
5
star
98

gated-nft-tutorial-starter

TypeScript
5
star
99

greeter-tutorial-starter

Vue
5
star
100

era-compiler-common

Shared constants of the ZKSync compilers
Rust
5
star