2.9 KiB
I2P support in Dash Core
It is possible to run Dash Core as an I2P (Invisible Internet Project) service and connect to such services.
This glossary may be useful to get started with I2P terminology.
Run Dash Core with an I2P router (proxy)
A running I2P router (proxy) with SAM
enabled is required (there is an official one and
a few alternatives). Notice the IP
address and port the SAM proxy is listening to; usually, it is
127.0.0.1:7656
. Once it is up and running with SAM enabled, use the following
Dash Core options:
-i2psam=<ip:port>
I2P SAM proxy to reach I2P peers and accept I2P connections (default:
none)
-i2pacceptincoming
If set and -i2psam is also set then incoming I2P connections are
accepted via the SAM proxy. If this is not set but -i2psam is set
then only outgoing connections will be made to the I2P network.
Ignored if -i2psam is not set. Listening for incoming I2P
connections is done through the SAM proxy, not by binding to a
local address and port (default: 1)
In a typical situation, this suffices:
dashd -i2psam=127.0.0.1:7656
The first time Dash Core connects to the I2P router, its I2P address (and
corresponding private key) will be automatically generated and saved in a file
named i2p_private_key
in the Dash Core data directory.
Additional configuration options related to I2P
You may set the debug=i2p
config logging option to have additional
information in the debug log about your I2P configuration and connections. Run
dash-cli help logging
for more information.
It is possible to restrict outgoing connections in the usual way with
onlynet=i2p
. I2P support was added to Dash Core in version 22.0 (mid 2021)
and there may be fewer I2P peers than Tor or IP ones. Therefore, using
onlynet=i2p
alone (without other onlynet=
) may make a node more susceptible
to Sybil attacks. Use
dash-cli -addrinfo
to see the number of I2P addresses known to your node.
I2P related information in Dash Core
There are several ways to see your I2P address in Dash Core:
- in the debug log (grep for
AddLocal
, the I2P address ends in.b32.i2p
) - in the output of the
getnetworkinfo
RPC in the "localaddresses" section - in the output of
dash-cli -netinfo
peer connections dashboard
To see which I2P peers your node is connected to, use dash-cli -netinfo 4
or the getpeerinfo
RPC (e.g. dash-cli getpeerinfo
).
To see which I2P addresses your node knows, use the getnodeaddresses 0 i2p
RPC.
Compatibility
Dash Core uses the SAM v3.1 protocol to connect to the I2P network. Any I2P router that supports it can be used.