proto/

directory
v1.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 14, 2025 License: GPL-3.0

README

Protobuf Definitions for publisher

All of the publisher proto files are defined here. This folder is the canonical source for the protobuf definitions used in the project.

These definitions are managed on the Buf Schema Registry at buf.build/ssvlabs/publisher.

User facing documentation should not be placed here but instead goes in buf.md and in each protobuf package following the guidelines in https://docs.buf.build/bsr/documentation.

Structure

The protobuf definitions are organized by layer:

  • rollup/v1/transport.proto - Connection-level messages (handshake, ping/pong, disconnect)
  • rollup/v1/consensus.proto - Synchronous Composability Protocol (SCP) messages (votes, decisions, CIRC)
  • rollup/v1/sbcp.proto - Superblock Construction Protocol (SBCP) messages (slots, L2 blocks)
  • rollup/v1/messages.proto - Main message wrapper that imports all protocol layers

This structure matches the protocol specifications in spec/ directory.

Development

The Makefile in this directory provides several commands to work with the protobuf files.

Generate

To generate the Go code from the .proto files, run:

make proto-gen

This will run buf generate and output the generated files in their respective directories.

Lint

To lint the .proto files, run:

make proto-lint
Format

To format the .proto files, run:

make proto-format
Check for Breaking Changes

To check for breaking changes against the main branch, run:

make proto-breaking
Update Dependencies

To update the protobuf dependencies, run:

make proto-deps

This should be done by a maintainer after changes have been merged to main.

Directories

Path Synopsis
rollup
v1

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL