raspibolt / raspibolt

RaspiBolt v3: Bitcoin & Lightning full node on a Raspberry Pi
https://raspibolt.org
MIT License
1.22k stars 351 forks source link

Add i2p connectivity #953

Closed luneth closed 2 years ago

luneth commented 2 years ago

Before submitting a PR to add i2p to this guide, I would like to know how you feel about it.

Even though i don't believe the tor network to collapse anytime soon, I believe adding a second network, still protecting users anonymity, as second medium/failover wouldn't be anything but beneficial.

Thoughts?

Stadicus commented 2 years ago

I think that would be interesting to explore. I never played around with i2p in detail, how would that look overall?

luneth commented 2 years ago

I believe this fits the decentralized spirit of bitcoin. Not being dependable of one network, but 3. tor, i2p and using both to anonymously reach nodes on clearnet.

Stadicus commented 2 years ago

Sounds great! If this can be added without disrupting the existing configuration, that would be a perfect bonus guide for now. Maybe parts of it could make it into the main guide in the future.

kristapsk commented 2 years ago

I2P should be used in addition to Tor and only for bitcoind for now. Having two different privacy networks should improve resistance against possible attacks against your node, also might be helpful for users in countries where state is actively fighting against Tor by banning Tor node IP addresses (but not sure can or can not and are they trying currently to do that against I2P).

I tried to do it some time ago, bitcoind even announces I2P address, but connections aren't working. Haven't yet managed to get back to it. See also https://old.reddit.com/r/raspibolt/comments/sdh113/add_i2p_connectivity/.

kristapsk commented 2 years ago

Finally got it working! Should we do this as a bonus guide or add straight to the Privacy page together with Tor? I2P Daemon (i2pd) is C++ reimplementation of protocol and is not resource hungry, unlike original Java implementation.

VajraOfIndra commented 2 years ago

Congrats for making it work! This will be such a powerful addition to the core RaspiBolt setup.

Do you think it can go straight to the core guide or is it safer to propose it as a bonus guide for a while?

kristapsk commented 2 years ago

Was initially tending towards doing it as a core guide from the start, but probably it's better to start with a bonus guide, collect some initial feedback from the users and then move it to the core.

kristapsk commented 2 years ago

@luneth You want to do this or should I do this?

VajraOfIndra commented 2 years ago

Pinging @luneth :) do you want to tackle this update or are you ok with @kristapsk doing it?

It'd be great to have this added in the not too distant future.

github-actions[bot] commented 2 years ago

This issue is marked as stale because there was no activity for 60 days. If the issue stays inactive, it will be closed in a week.

kristapsk commented 2 years ago

Should not be closed, it's on my TODO list.

VajraOfIndra commented 2 years ago

Should not be closed, it's on my TODO list.

FYI, configuration tips by @twofaktor or: https://t.me/raspibolt/11831

https://i2pd.readthedocs.io/en/latest/user-guide/install/#debian + sudo systemctl enable i2pd + add to bitcoin.conf :

debug=i2p

onlynet=i2p #optional

i2psam=127.0.0.1:7656 i2pacceptincoming=1

twofaktor commented 2 years ago

Should not be closed, it's on my TODO list.

FYI, configuration tips by @twofactor: https://t.me/raspibolt/11831

Install apt-transport-https package

sudo apt-get install apt-transport-https

Automatically add repository

wget -q -O - https://repo.i2pd.xyz/.help/add_repo | sudo bash -s -

After that you can install i2pd as any other software package:

apt-get update apt-get install i2pd

+ sudo systemctl enable i2pd + add to bitcoin.conf :

debug=i2p

onlynet=i2p #optional

i2psam=127.0.0.1:7656 i2pacceptincoming=1

BTW: My name is @twofaktor 😆

kristapsk commented 2 years ago

wget -q -O - https://repo.i2pd.xyz/.help/add_repo | sudo bash -s -

Yes, adding their repo is important, by default you will have outdated i2pd version which will often cause problems.

Alternative is to get latest release from their github.

VajraOfIndra commented 2 years ago

BTW: My name is @twofaktor laughing

Haha, ok, fixed! ;)

twofaktor commented 2 years ago

BTW: My name is @twofaktor laughing

Haha, ok, fixed! ;)

Error again, is @twofaktor 😁

VajraOfIndra commented 2 years ago

BTW: My name is @twofaktor laughing

Haha, ok, fixed! ;)

Error again, is @twofaktor 😁

Gee! Now it's fixed!... I think...! I'd better not write any PR rn.. it'd be full of typos! 😆

twofaktor commented 2 years ago

New PR related! #1064

twofaktor commented 2 years ago

PR #1064 merged! this issue can be closed!