Categorygithub.com/rollkit/centralized-sequencer

# README

Centralized Sequencer

centralized-sequencer is an implementation of the Generic Sequencer interface for modular blockchains. It runs a gRPC service, which can be used by rollup clients to sequence transactions to DA layer.

build-and-test golangci-lint Go Report Card codecov GoDoc

Minimum requirements

RequirementNotes
Go version1.22 or higher

Installation

git clone https://github.com/rollkit/centralized-sequencer.git
cd centralized-sequencer
make build
./build/centralized-sequencer -h

Usage

centralized-sequencer exposes a gRPC service that can be used with any gRPC client to sequence rollup transactions to a DA layer.

Example

Run centralized-sequencer by specifying DA network details:

    ./build/centralized-sequencer -da_address <da_address> -da_auth_token <da_auth_token> -da_namespace $(openssl rand -hex 10)

Flags

FlagUsageDefault
batch-timetime in seconds to wait before generating a new batch2 seconds
da_addressDA addresshttp:////localhost:26658
da_auth_tokenauth token for the DA""
da_namespaceDA namespace where the sequencer submits transactions""
hostcentralized sequencer hostlocalhost
portcentralized sequencer port50051
listen-alllisten on all network interfaces (0.0.0.0) instead of just localhostdisabled
metricsenable prometheus metricsdisabled
metrics-addressaddress to expose prometheus metrics":8080"

See ./build/centralized-sequencer --help for details.

Tools

  1. Install golangci-lint
  2. Install markdownlint
  3. Install hadolint
  4. Install yamllint

Helpful commands

# Print centralized-sequencer commands
centralized-sequencer --help

# Run unit tests
make test-unit

# Run all tests including integration tests
make test

# Run linters (requires golangci-lint, markdownlint, hadolint, and yamllint)
make lint

Contributing

We welcome your contributions! Everyone is welcome to contribute, whether it's in the form of code, documentation, bug reports, feature requests, or anything else.

If you're looking for issues to work on, try looking at the good first issue list. Issues with this tag are suitable for a new external contributor and is a great way to find something you can help with!

# Packages

No description provided by the author
No description provided by the author
No description provided by the author