Minimal as possible. I2P is full of crypto primitives, file formats, and protocols.
The goal is to implement the smallest functional set of I2P concepts for a working router.
To begin, only implement the NTCP2 transport. This is a TCP-like end-to-end encrypted transport.