avalanche-proto

Protobuf generated client and server resources for Avalanche gRPC in rust. The generated stubs use the upstream avalanchego/proto definitions as the source of truth and versioning will align with avalanchego releases.

versions

Support for avalanchego protocol version 15+

The release version will align with the protocol version for avalanchego. In our example linked above avalanchego is currently on protocol version 15. This aligns with the minor version of the avalanche-proto release. Patches to minor releases could include improvements and even features for protos not releated to avalanchego.

bash avalanche-types = { version = "0.15", features = [] } // supports avalanchego protocol version 15

usage

rust use avalanche_proto::{ http::{ http_server::Http, HttpRequest, HandleSimpleHttpResponse, HandleSimpleHttpRequest }, google::protobuf::Empty, };

```rust use avalanche_proto::grpcutil;

grpcutil::default_server()
    .add_service(VmServer::new(vm))
    .serve_with_incoming(TcpListenerStream::new(listener))
    .await
    .map_err(|e| {
        Error::new(
            ErrorKind::Other,
            format!("failed to serve vm service: {}", e),
        )
    })

```