The ChirpStack Network Server components are using gRPC for
inter-component communication. The definitions of these interfaces can be
found in the form of
.proto files in the API
folder of the source repository:
Each subdirectory (e.g.
nc) provides Go client code and
server stubs, which means you can import these as packages when using Go.
When using other programming languages, you'll need to generate the client
and / or server stubs yourself (which is thanks to gRPC fairly easy).
gRPC has currently support for: C++, Java, Python, Go, Ruby, C#, Node.js, Android Java, Objective-C and PHP.
Please refer to the gRPC getting started guide for more information.