@smartcosmos/sample-protobufs

Protobuf files for gRPC APIs

Usage no npm install needed!

<script type="module">
  import smartcosmosSampleProtobufs from 'https://cdn.skypack.dev/@smartcosmos/sample-protobufs';
</script>

README

@smartcosmos/sample-protobufs

This package provides the protobuf definitions for a sample gRPC API.

Once imported, it provides the absolute paths for proto files to set up gRPC clients and servers.

Usage

Setting up a server

import { GRPCServer } from '@smartcosmos/cosmos-service-builder';
import protoPaths from '@smartcosmos/sample-protobufs';

new GRPCServer({
  configuration: {
    port: config.GRPC_PORT,
    host: config.GRPC_HOST,
  },
  logger: config.LoggerConfig,
})
.addService({
  protoPackage: 'sample.hello',
  protoService: 'HelloService',
  protoPath: protoPaths.sample, // imported from a protobuf package
}, {
  serviceClass: servicePackages.sample.hello.HelloService, // class of the service implementation
  params: { remotes, models },
});

Setting up a client

import { GRPCClient } from '@smartcosmos/cosmos-service-builder';
import protoPaths from '@smartcosmos/sample-protobufs';

const grpcClients = {
  ...new GRPCClient({
    protoPath: protoPaths.sample,
    logger: config.LoggerConfig,
  }).connect(config.GRPC_SERVER_SAMPLE_ADDRESS),
};