# gRPC

### gRPC Server <a href="#grpc-server" id="grpc-server"></a>

The TransferChain SDK uses Protobuf as its main encoding library. This allows developers to use a wide range of Protobuf-based tools, such as gRPC. gRPC is a modern, high-performance RPC framework that has client support in several languages.

Each module in the TransferChain SDK exposes a Protobuf Query service that defines state queries. These Query services, along with a transaction service used to broadcast transactions, are hooked up to the gRPC server via a function in the application.

Here is a more detailed explanation of each part of the text:

* **Protobuf:** Protocol buffers are a language-neutral, extensible mechanism for serializing structured data. They are used in a wide variety of applications, including the TransferChain SDK.
* **gRPC:** gRPC is a modern, high-performance RPC framework that uses Protobuf as its underlying serialization format. It is a popular choice for building microservices and distributed applications.
* **Query service:** A Query service is a gRPC service that exposes methods for querying the state of the blockchain.
* **Transaction service:** A Transaction service is a gRPC service that exposes methods for broadcasting transactions to the blockchain.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.transferchain.io/core-concepts/grpc.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
