sentrix-proto
Generated tonic + prost protobuf types for the Sentrix Chain gRPC service (sentrix.v1).
Why this crate exists
The Sentrix Chain gRPC service has one server-side implementation (the chain itself) and several client consumers (the Rust SDK, the WASM gRPC-Web client, the explorer-v2 frontend, future polyglot SDKs). Vendoring sentrix.proto separately into each consumer was producing schema drift — this crate is the single source of truth.
The chain server (crates/sentrix-grpc in sentrix-labs/sentrix) consumes these types via the workspace path-dep; external clients depend on this crate via crates.io.
Usage
[]
= "0.1"
use SentrixClient;
async
Schema versioning
The schema is namespaced package sentrix.v1;. Breaking field renames or type changes ship as a new sentrix.v2 package, not in-place edits to v1. That gives client crates a deterministic boundary for major-version bumps.
Build requirements
The build script invokes protoc (passed via prost-build). On Ubuntu 22.04 the apt-installed protoc is 3.12.x which treats proto3 optional fields as experimental — build.rs passes --experimental_allow_proto3_optional to keep the build green on older runners. Modern protoc (≥ 3.15) accepts the field by default, no change needed.
License
BUSL-1.1 — same as the rest of the Sentrix Chain workspace. Transitions to a permissive open-source license after the Change Date.