The JSON-RPC protocol uses messages serialized to JSON format. It uses a special format for requests and responses, described here: https://www.JSON-RPC.org/specification. The protocol can use different transports, such as, HTTP, Unix sockets, or even stdio. Later in this chapter, you will find an example of the usage of this protocol.