Node Framework
Learn how to implement custom components for ZKsync server.
ZKsync server is built using custom dependency injection framework. It means that the node can be composed from a set of modules that implement certain interfaces.
Many of customization options, such as different Data Availability networks or custom base tokens, are supported natively. However, by utilizing the node framework, it's possible to support custom features, such as different cloud providers, e.g. AWS or Azure or alternative L1s.
While node framework is already functional and can be used today, the support for modified binaries is lacking in many adjacent areas, such as
CI workflows, Docker images, and Infrastructure as a Code. Additionally, the core codebase is not currently published on crates.io. If you want
to run a customized version of the server, the best course of action for now would be to fork zksync-era repository and modify all the relevant
parts (e.g. dockerfiles and automation to push docker images). In the future, reusable infrastructure to support custom server implementations
will be provided.
To learn mode about the node framework, check out: