/erigon-interfaces

Interfaces for turbo-geth components

Primary LanguageRustApache License 2.0Apache-2.0

Interfaces

Interfaces for Erigon components, compatible with Silkworm and Akula. Currently it is a collection of .proto files describing gRPC interfaces between components, but later documentation about each interface, its components, as well as required version of gRPC will be added

See more info on the component and descriptions in Components

What's in this repo

  • Protobuf definitions
  • Wrappers:
    • Rust crate with autogenerated client and server based on Tonic

NOTE: You are free to ignore provided wrappers and use the .proto files directly

Suggested integration into other repositories

Using a go module is the most effective way to include these definitions in consuming repos.

go get github.com/ledgerwatch/interfaces

This makes local development easier as go.mod redirect can be used, and saves on submodule/tree updates (which were the previous method of consumption).

Style guide

https://developers.google.com/protocol-buffers/docs/style