I2p-cp ★

: 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).