As I understand, the next Monero release will include an option to connect to the network over I2P.
Actually the current release has experimental options to use over i2p/tor. Work is underway on the GUI to add support there too, which should greatly simplify the usage (e.g. just ticking a checkbox to send transactions over i2p/tor).
...what do I need to do to make the node run over the I2P network instead?
Firstly, I'd encourage reading of the documentation so you are familiar with how it works.
Then the steps required essentially boil down to the following:
- Run an i2p router, such as the extremely light-weight i2p-zero.
- Configure a SOCKS tunnel at the router to forward outbound traffic over i2p.
- Configure a server tunnel at the router to accept incoming connections from the i2p network and forward them to a local service (which will be your
monerod node below).
monerod with the appropriate flags:
- You need to use
--proxy i2p,127.0.0.1:9000 (replacing
9000 with whatever SOCKS port you configured for your i2p SOCKS tunnel in step 2 above). This is for your nodes outbound connections to i2p destinations.
- If you know any other i2p Monero peers, add them with
--add-peer address.b32.i2p:28083 (replacing the address and port with their long hex i2p address and port). If you don't add any i2p peers, you cannot relay transactions over i2p or discover other Monero peers on i2p.
- You need to use
--anonymous-inbound address.b32.i2p:28083,127.0.0.1:28083 (replacing the address and port with the server tunnel address and port created in step 3 above). This is for your inbound connections from i2p.
You should now have an up-and-running Monero node that can handle both inbound and outbound i2p traffic. It will sync blocks over clearnet and relay transactions over i2p.