rollkit / go-sequencing

Generic sequencer interface for modular blockchains
Apache License 2.0
4 stars 1 forks source link

go-sequencing

go-sequencing defines a generic sequencing interface for modular blockchains

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

Sequencing Interface

Method Params Return
SubmitRollupTransaction context.Context, rollupId RollupId, tx Tx error
GetNextBatch context.Context, lastBatchHash Hash batch Batch, timestamp Time error
VerifyBatch context.Context, batchHash Hash success bool, error

Note: Batch is []Tx and Tx is []byte. Also Hash and RollupId are []byte.

Implementations

The following implementations are available:

In addition the following helper implementations are available:

Helpful commands

# Generate protobuf files. Requires docker.
make proto-gen

# Lint protobuf files. Requires docker.
make proto-lint

# Run 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!

Please join our Community Discord to ask questions, discuss your ideas, and connect with other contributors.

Code of Conduct

See our Code of Conduct here.