Skip to main content
Version: Mainnet

Run

The sequencer plays a crucial role in the operation of a RollApp. It is responsible for processing transactions, creating and ordering blocks, and submitting state updates to the Dymension hub. In this section we will go over the steps to setup and run a sequencer.

Requirements

note

This guide assumes you've already setup your environment as outlined in the setup environment section.

Hardware Requirements

  • A Linux or macOS operating system
  • At least 16GB of RAM
  • At least 100GB of free disk space
  • At least Dual CPU cores
  • At least 10 Mbps bandwidth

Initialize RollApp Directory

In case you haven't already, use the following command to install the necessary binaries, initializes the RollApp configuration files and download the genesis file. You'll be prompted to provide a RollApp ID and select an environment:

note

This assumes the Rollapp you want to operate already exists. If not, you can create one by using the portal.

info

On MacOS there are some instabilities with downloading the DA light client but running the command again upon failure usually fixes it.

roller rollapp init
Important

When importing a custom sequencer key for a mainnet rollapp, you'll need to use the keyring backend password generated by roller. This password can be found in the ~/.roller/.ra-os-keyring-psw file.

After successful initialization, you'll see output similar to:

💈 RollApp 'rollapp_12345-1' configuration files have been successfully generated on your local machine. Congratulations!
danger

Make sure to save the generated addresses and mnemonic phrases securely. You'll need to fund these addresses to run the RollApp.

Setup RollApp Endpoints

Before setting up the sequencer, it's important to configure the RollApp endpoints. These endpoints allow users and other network participants to interact with your RollApp through the portal.

Important

This tool is intended for generating endpoints for testing and local installations. For production environments, we strongly recommend using your own custom setup. This step is not mandatory for running a RollApp sequencer, so in case you run into issues, you can skip this step.

For generating endpoints for testing and local installation we will be using telebit

Start by installing the telebit cli and follow the instructions:

curl https://get.telebit.io/ | bash

Create the necessary endpoints:

~/telebit http 1317 rest
~/telebit http 8545 evm
~/telebit http 26657 rpc

Save the endpoints:

~/telebit save

At this point you should have a set of endpoints which we will use when setting up the sequencer.

Setup RollApp Sequencer

The following command sets up the RollApp node. In our example, we'll be choosing the sequencer mode once prompted. In sequencer mode, we will also have to provide bond and https endpoints. We can use the endpoints we just created above or provide custom endpoints:

roller rollapp setup
info

Endpoints can be updated anytime after initial set up by updating the sequencer metadata.

Start RollApp

Important

By default roller sets public rpc endpoints for sending state updates to the Dymension hub and the DA. It's recommended to use private endpoints for higher performance and reliability for both hub and DA. Hub private endpoints can be updated anytime after initial setup by running roller config set hub-rpc-endpoint <private-endpoint> and restarting the RollApp. DA endpoints are vendor dependent and should be updated accordingly.

To start the RollApp sequencer and data availability light node in the foreground, use the following command:

roller da-light-client start
roller rollapp start

View the RollApp status including ports and Sequencer balance.

roller rollapp status
danger

As an active RollApp operator, it is critical to regularly backup your ~/.roller directory and never delete it, as it contains essential data for operating your RollApp. Losing this data before the bridge is opened and validated, may result in an unrecoverable RollApp.

note

To move the RollApp to the active stage in the Portal and enable token transfers between the RollApp and Dymension, you must continue running the Relayer.

Sentry Architecture

It's recommended to run sentry nodes in addition to the sequencer node. This will allow you to have a first line of defense against attacks, such as denial of service attack, using sentry architecture.

To learn more about how to setup a sentry node, please refer to the sentry node section.