ZK Rollup Tutorial Part 1

We’ll begin this tutorial by guiding you through the process of setting up your environment to support your new Sovereign ZK Rollup. To make things easier, we’ve provided a bare-bones repository that contains the dependencies required for this project. This repository skeleton is hosted on GitHub here:

[LINK to tutorial repo]

Nomos Node Access

As a Sovereign Rollup operating on top of Nomos, it is crucial for your Sovereign Rollup components to have access to a Nomos node. Typically, each component of the Sovereign Rollup (the Sequencer, Prover, and Light Nodes) are expected to operate their own Nomos Node, although this is not strictly necessary.

At minimum, the components must have the URL associated with the Nomos node, as well as the credentials to access it (username and password), if applicable.

<aside> 💡

For more information on running a Nomos node, see the Nomos Node Tutorial[LINK].

</aside>

Prerequisites

Before we begin building our Sovereign ZK Rollup, it’s important to install the necessary prerequisites to ensure that it functions as intended. Each item on this list includes a link to its installation instructions.

Rust and Cargo

To install Rust, follow these instructions on the Rust website. Make sure to install Rust the standard way by using rustup. On Linux and macOS systems, this is accomplished by running the following command:

curl <https://sh.rustup.rs> -sSf | sh

Installing Rust this way will automatically install Cargo as well.

Just

You can install just using Cargo by running the following command:

cargo install just

For other installation options, see here.

RISC Zero

To install RISC Zero, follow these instructions on the RISC Zero website. The standard way to install it for x86-64 Linux and arm64 macOS systems is by using rzup, as shown below.

curl -L [<https://risczero.com/install>](<https://risczero.com/install>) | bash