I2CP operates as a message-based protocol, facilitating communication between two primary components: the (the application) and the Router (the I2P node).
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.
: Since I2P is a packet-switched network where messages can be lost or delayed, I2CP is inherently asynchronous, allowing applications to manage their own reliability or use the built-in streaming library for TCP-like behavior. The Initialization Process
Instructs the router to deliver a payload to a specific I2P Destination.
Notifies the client that a new message has been received from the network.
Sent by the router when it needs the client to sign a new set of tunnels for inbound traffic. Significance for Developers
: The client application and the I2P router can reside on the same machine or different ones, communicating over a local or network socket.
: 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
I2p-cp -
I2CP operates as a message-based protocol, facilitating communication between two primary components: the (the application) and the Router (the I2P node).
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.
: Since I2P is a packet-switched network where messages can be lost or delayed, I2CP is inherently asynchronous, allowing applications to manage their own reliability or use the built-in streaming library for TCP-like behavior. The Initialization Process i2p-cp
Instructs the router to deliver a payload to a specific I2P Destination.
Notifies the client that a new message has been received from the network. This has enabled the integration of I2P into
Sent by the router when it needs the client to sign a new set of tunnels for inbound traffic. Significance for Developers
: The client application and the I2P router can reside on the same machine or different ones, communicating over a local or network socket. Notifies the client that a new message has
: 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