: The client sends a protocol version byte (typically 0x2A ) to ensure compatibility.
Requests the router to resolve a human-readable name (like example.i2p ) to a cryptographic Destination.
I2CP operates as a message-based protocol, facilitating communication between two primary components: the (the application) and the Router (the I2P node). i2p-cp
I2CP is essential for the I2P ecosystem because it provides a consistent API for various programming languages. While the primary I2P router is written in Java, I2CP allows clients written in C++, Python, or Go to interface with it seamlessly. This has enabled the integration of I2P into diverse projects, such as the Monero cryptocurrency for transaction privacy.
: The router builds inbound tunnels and requests a "LeaseSet" from the client. This LeaseSet serves as a signed set of "entry points" that other peers can use to reach the application anonymously. Key I2CP Message Types Message Type SendMessage : The client sends a protocol version byte
Sent by the router when it needs the client to sign a new set of tunnels for inbound traffic. Significance for Developers
: The client requests the current network time from the router via GetDate and SetDate messages. I2CP is essential for the I2P ecosystem because
: A CreateSession message is sent, containing the application's configuration and its cryptographic Destination (public key).