Skip to content

Centralized Sequencer

A centralized sequencer is a sequencing middleware that receives rollup transactions and provides a local sequencing capabilities. Meaning, the transactions are ordered in the order they are received by the sequencer without any censorship. Further, the sequenced batches are made available in the DA network (such as Celestia). Under the hood, the centralized sequencer is a GRPC server that implements go-sequencing interface and the server is hosted by the same node that is running the aggregator for the Rollkit rollup.

Rollkit with Centralized Sequencer

Installation and Use

sh
git clone https://github.com/rollkit/centralized-sequencer.git
cd centralized-sequencer
make build
./build/centralized-sequencer -h
sh
Usage:
  -host string
    	centralized sequencer host (default "localhost")
  -port string
    	centralized sequencer port (default "50051")
  -listen-all
    	listen on all network interfaces (0.0.0.0) instead of just localhost
  -rollup-id string
    	rollup id (default "rollupId")
  -batch-time duration
    	time in seconds to wait before generating a new batch (default 2s)
  -da_address string
    	DA address (default "http://localhost:26658")
  -da_auth_token string
    	auth token for the DA
  -da_namespace string
    	DA namespace where the sequencer submits transactions
  -db_path string
    	path to the database

As shown by the help command, a centralized sequencer is configured to serve a rollup (via rollup_id). The DA network to persist the sequenced batches are specified using da_address, da_auth_token and da_namespace.

Released under the APACHE-2.0 License