This document serves as the specification of the IPv8 protocol.
This section specifies a general packet format. All fields are stored in the big endian representation.
field | size | type | description |
---|---|---|---|
zero byte | 1 byte | byte | A zero byte (0x00 ) |
version | 1 byte | byte | The protocol version, currently 0x02 |
service id | 20 bytes | string | The SHA1 hash of the master peer public key |
message number | 1 byte | byte | The message type ID |
payload | variable | The message payload, defined for each message type separately |
The protocol is built around the concept of communities. A community represents a service in the IPv8 network. Every peer can choose which communities to join when starting the protocol stack. The messages defined by communities and their behavior are described in a separate document for each community: