29 lines
1.1 KiB
Markdown
29 lines
1.1 KiB
Markdown
# 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
|
|
|
|
<img src="turbo-geth-architecture.png">
|
|
|
|
See more info on the component and descriptions in [Components](./_docs/README.md)
|
|
|
|
|
|
# What's in this repo
|
|
- Protobuf definitions
|
|
- Wrappers:
|
|
- Rust crate with autogenerated client and server based on [Tonic](https://github.com/hyperium/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](https://developers.google.com/protocol-buffers/docs/style)
|