I want to support bitcoin over the i2p network and minimize my reliance on tor and its continued DDoS attacks.
As I see it, my current problem is running i2p, specifically the i2pd implementation, NOT a problem with my bitcoind (running v.22). But since the intention is to use i2p primarily for bitcoin, I will post my question here in the forum.
What I did up until nowI tried to follow 402 Payment Requireds guide
https://bitcointv.com/w/tdi2BXqPF2fhj6991Qn8vM (thank you) to enable bitcoin with i2p. I didn't add a new repository as suggested in his guide since I'm a bit hesitant to include third party ones. But the Debian repository of my Raspberry Pi 4 has an older v2.39 version of the i2pd included though.
Once installed I added following lines to the bitcoin.conf file:
debug=i2p
i2psam=127.0.0.1:7656
onlynet=i2p
addnote=a5qsnv3maw77mlmmzlcglu6twje6ttctd3fhpbfwcbpmewx6fczq.b32.i2p:0
addnote=bitcornrd36coazsbzsz4pdebyzvaplmsalq4kpoljmn6cg6x5zq.b32.i2p:0
addnote=c4gfnttsuwqomiygupdqqqyy5y5emnk5c73hrfvatri67prd7vyq.b32.i2p:0
addnote=dhtq2p76tyhi442aidb3vd2bv7yxxjuddpb2jydnnrl2ons5bhha.b32.i2p:0
addnote=h3r6bkn46qxftwja53pxiykntegfyfjqtnzbm6iv6r5mungmqgmq.b32.i2p:0
I pulled the i2p nodes from the bitcoin repository
https://github.com/bitcoin/bitcoin/blob/master/contrib/seeds/nodes_main.txt. Then I did:
pi@debian:~ $ sudo systemctl enable i2pd
pi@debian:~ $ sudo systemctl start i2pd
and started bitcoind. Sadly no outbound connections where made via i2p.
TroubleshootingI noticed that i2p kept quitting after a couple of minutes.
pi@debian:~ $ systemctl status i2pd
● i2pd.service - I2P Router written in C++
Loaded: loaded (/lib/systemd/system/i2pd.service; enabled; vendor preset: enabled)
Active: failed (Result: signal) since Tue 2022-06-28 09:05:51 CEST; 46min ago
Docs: man:i2pd(1)
https://i2pd.readthedocs.io/en/latest/
Process: 209789 ExecStart=/usr/sbin/i2pd $DAEMON_OPTS (code=exited, status=0/SUCCESS)
Main PID: 209790 (code=killed, signal=SEGV)
CPU: 2.008s
Jun 28 09:02:49 debian systemd[1]: Starting I2P Router written in C++...
Jun 28 09:02:49 debian systemd[1]: Started I2P Router written in C++.
Jun 28 09:05:51 debian systemd[1]: i2pd.service: Main process exited, code=killed, status=11/SEGV
Jun 28 09:05:51 debian systemd[1]: i2pd.service: Failed with result 'signal'.
Jun 28 09:05:51 debian systemd[1]: i2pd.service: Consumed 2.008s CPU time.
In the logs a bunch of following output is provided (note, the first block was where I originally started i2pd first, the second block shows the output once I restart it now):
pi@debian:~ $ sudo cat /var/log/i2pd/i2pd.log
18:11:31@261/error - RouterInfo: Can't open file
18:11:31@261/warn - NetIface: interface with yggdrasil network address not found
18:11:31@71/warn - SSU: Can't connect to unreachable router and no ipv4 non-expired introducers presented
18:11:31@261/warn - Addressbook: Can't open /var/lib/i2pd/addressbook/addresses.csv
18:11:31@261/error - Addressbook: resetting eTags
18:11:31@261/warn - Addressbook: subscriptions.txt usage is deprecated, use config file instead
18:11:31@261/error - Clients: can't open file /var/lib/i2pd/irc-keys.dat Creating new one with signature type 7 cry>
18:11:31@261/error - Addressbook: Can't find domain for irc.postman.i2p
18:11:31@261/warn - I2PTunnel: Remote destination irc.postman.i2p not found
18:11:31@71/warn - SSU: Missing fragments from 0 to 0 of message 1850705242
18:11:31@71/warn - SSU: Missing fragments from 0 to 0 of message 4245777171
18:11:32@71/warn - SSU: Missing fragments from 0 to 0 of message 1303596989
18:11:32@71/warn - SSU: Missing fragments from 0 to 0 of message 3611222500
18:11:33@846/warn - Profiling: no profile yet for QaIlFqFcZI3JqQsVU~yXqB4p2UUGqIr6Tl3gaUtmWAQ=
18:11:33@846/warn - Profiling: no profile yet for d-Ovz7dWY4lBPFycY8xL80VhXkfPt5N29IkoVypTLTc=
18:11:33@846/warn - Profiling: no profile yet for mIxIckjq~KJ93jd8oJE5-oaSKS~cPK-SUBGXX0-bEeQ=
18:11:33@846/warn - Profiling: no profile yet for -y~PbE0VC1WNrHouLjDD-UBljz3pY4a2sQiqfv6Mssk=
18:11:33@846/warn - Profiling: no profile yet for vs86U33udR9TgPhsDGpHXQOcDwYPOWrtNZXfvLkFCCc=
18:11:33@846/warn - Profiling: no profile yet for cV7Umzmk560C7OB4-3~bdBT3kPcuatw-K8hHmlbN45M=
...
09:02:49@820/warn - SSU: Missing fragments from 0 to 0 of message 4132560932
09:02:49@820/warn - SSU: Missing fragments from 0 to 0 of message 2086179642
09:02:49@600/warn - Addressbook: subscriptions.txt usage is deprecated, use config file instead
09:02:49@820/warn - SSU: Missing fragments from 0 to 0 of message 1468714441
09:02:49@157/warn - NTCP2: SessionCreated read error: End of file
09:02:50@820/warn - SSU: Missing fragments from 0 to 0 of message 338593495
09:02:50@820/warn - SSU: Missing fragments from 0 to 0 of message 2504363861
09:02:50@820/warn - SSU: MAC verification failed 60 bytes from <some IP, redacted by me>
09:02:51@13/warn - Profiling: no profile yet for R~cPb1~sHRbxoHl~el30UrbQzVWaJcj-mLS9F~uXKqU=
09:02:51@13/warn - Profiling: no profile yet for QkilYq-At3F8lHAQ-RDfSDWHz5~PjRrMsr0GLbbwFsc=
09:02:51@13/warn - Profiling: no profile yet for M2KRZ0Pf5ov5wu1QbJxJ15~mgnDEN4POZgaIR5sG8R8=
09:02:51@13/warn - Profiling: no profile yet for SgFDTqriG6nRJwVRHgkYJm8y4L6-qDrdOgjPWmxRj24=
09:02:51@13/warn - Profiling: no profile yet for q3vwbzfOi8vSOr9~RsdwOHSZWDf1HzEzIaDFNsHCmZI=
09:02:51@13/warn - Profiling: no profile yet for vvnfV7EWRHAR8TvoDGFx98xsMIlbrGFF4r-9yYMpsg8=
09:02:51@13/warn - Profiling: no profile yet for f4J1ye~T968uIkQG4523yaGPQ7I-CoKy5ZmtJms1DuE=
09:02:51@13/warn - Profiling: no profile yet for vPfUm3fw6hAwHaWlIaxWmLlH7x2ewPm~Xf4gmX8JMDg=
09:02:51@13/warn - Profiling: no profile yet for BbgtgUFcIo26zZUxWT67qyjM9Gv28cJ21GbRdC-bToE=
09:02:51@13/warn - Profiling: no profile yet for LjBCWdmoBzqOxYvkJA8L8KEUbMqJvW7vo8yNsmpldWw=
09:02:51@13/warn - Profiling: no profile yet for 31L27mVVsWcvIj8FmeJL~J1KEYgT4aO~PsJB8N6dLUs=
09:02:51@13/warn - Profiling: no profile yet for Q0-DPqQspdh93zxN0lCkcPRO2Z5qBvZZXUi2rZ8EfkY=
...
If I try to acccess the i2pd router webconsole on 127.0.0.1:7070 it works but says my network is firewalled.
Questions1) Is somebody running bitcoind with i2pd? Is there the need to configure some i2pd conf files?
2) Do I need to open ports on the router of my home network? My intention would be to have only outgoing bitcoind traffic. Not sure why I would need open ports for incoming one - but maybe I don't understand how i2p works?!