Contribution Track

Welcome to the ZKsync Contributors Track! The purpose of this track is to accelerate your journey into the thriving ZKsync development landscape. As a fully open-source project, we believe in community-driven development, and that means anyone from anywhere can contribute to shaping the future of ZKsync.

This track aims to guide you in discovering various aspects of our project, inspire you to contribute in the ways that interest you most, and provide a pathway to connect with the ZKsync community.

Open-source repositories

Here's a list of our key open-source repositories that you can contribute to:

ZKsync Era

Smart Contracts

  • era-contracts: Submodule containing the smart contracts for ZKsync Era.

Circuit Implementation

  • era-sync_vm: Houses the circuit implementation of zkVM specifically for ZKsync Era.

Testing and debugging

  • era-test-node: An in-memory node designed for integration testing and debugging.

Development tools

  • zksync-cli: CLI tool that aims to simplify the development process on ZKsync.
  • hardhat-zksync: Hardhat plugins tailored for the ZKsync Network.


SDK and explorers

  • block-explorer: The official block explorer for navigating the ZKsync network.
  • zksync-sdk: Software Development Kit for ease of integration with the ZKsync network.

Feel free to explore these repositories, and don't hesitate to contribute!

Why the contributors track?


  • Facilitate easy entry for external contributors into ZKsync's development ecosystem.
  • Offer a structured approach to involvement, reducing the initial overwhelm of diving into a new project.
  • Build a strong, diverse, and global community of developers who are excited about ZKsync.

Who is it for?

  • Developers interested in blockchain and layer 2 solutions.
  • Open-source enthusiasts looking to contribute to a growing project.
  • Those interested in contract development, dApp development, ZKsync Era, and more.

The track

Getting started

1. Introduce yourself on ZKsync Discord

  • Join our Discord channel and say 'hi' in the #introductions thread. Share what interests you and what you're hoping to learn or contribute.

2. Follow ZKsync Developers on X (formerly Twitter)

3. Dive into our official documentation

  • Immerse yourself in our comprehensive official documentation to acquire essential knowledge on ZKsync. If you discover a typo, syntax error, or see room for improvement, submit a Pull Request to contribute to its enhancement.

Dive into development

4. Deploy your first contract using ZKsync-CLI

  • Familiarize yourself with the ZKsync-CLI tool and deploy your first contract on the ZKsync Era testnet.

5. Tackle a 'Good First Issue'

  • Start contributing immediately by taking on a "Good First Issue" from any of our GitHub repositories. This is a great way to get hands-on experience and a feel for the project.

Community engagement

6. Participate in ZKsync Developer discussions

  • Join the discourse on GitHub discussions or other community forums to provide answers, ask questions, or share insights.

7. Submit a community tutorial or guide

Made with ❤️ by the ZKsync Community