The Chia protocol is composed of a few different sub-protocols. All protocol messages are sent encoded in Streamable format, using the networking protocol defined in the Networking page. The following documents go into depth into the messages sent by each type of service/node, and how they should be interpreted.
The protocol is asynchronous and bidirectional, that is, each end of the connection can send messages, and receive a response, multiple responses, or no response for each message.
- Harvester protocol (harvester <-> farmer)
- Farmer protocol (farmer <-> full node)
- Timelord protocol (timelord <-> full node)
- Peer protocol (full node <-> full node)
- Pool protocol (pool <-> farmer)
- Wallet protocol (wallet/light client <-> full node)