Skip to content

Commit fe66dad

Browse files
committed
Merge bitcoin/bitcoin#24710: Add concrete steps in doc/cjdns.md to easily find a friend
6a02355 Add and improve informational links in doc/cjdns.md (Jon Atack) 19538dd Add concrete steps in doc/cjdns.md to easily find a friend (Jon Atack) Pull request description: and improve the informational links. CJDNS functions with a friend-of-a-friend topology and a key hurdle to getting started is to find a public peer and set up an outbound connection to it. This update makes doing it much easier for people getting started. Credit to Vasil Dimov for an [IRC suggestion in October 2021](https://www.erisian.com.au/bitcoin-core-dev/log-2021-10-04.html#l-469) and to stickies-v for IRC discussions this week and the [testing guide](https://github.com/bitcoin-core/bitcoin-devwiki/wiki/23.0-Release-Candidate-Testing-Guide) that led me to redo these steps, provide feedback at bitcoin/bitcoin#24706 and refine the added documentation here. ACKs for top commit: dunxen: ACK 6a02355 stickies-v: re-ACK [6a02355](bitcoin/bitcoin@6a02355) even though I wasn't opposed to the "friend" terminology since it's the language CJDNS seems to use to denominate the peers you connect to directly in general. Not worth bikeshedding over though. lsilva01: Strong ACK 6a02355 Tree-SHA512: b2fa2a200a6a55a709486f7ed2d3830cabffbbffa61a0d211fcb666a918b5754d4e99a58c32909fe58540598066e6ff67bf2fa2fcd56b1b5dcff3c2162f6d962
2 parents f421de5 + 6a02355 commit fe66dad

File tree

1 file changed

+28
-7
lines changed

1 file changed

+28
-7
lines changed

doc/cjdns.md

Lines changed: 28 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,8 @@ CJDNS is like a distributed, shared VPN with multiple entry points where every
1010
participant can reach any other participant. All participants use addresses from
1111
the `fc00::/8` network (reserved IPv6 range). Installation and configuration is
1212
done outside of Bitcoin Core, similarly to a VPN (either in the host/OS or on
13-
the network router).
13+
the network router). See https://github.com/cjdelisle/cjdns#readme and
14+
https://github.com/hyperboria/docs#hyperboriadocs for more information.
1415

1516
Compared to IPv4/IPv6, CJDNS provides end-to-end encryption and protects nodes
1617
from traffic analysis and filtering.
@@ -23,17 +24,37 @@ somewhat centralized. I2P connections have a source address and I2P is slow.
2324
CJDNS is fast but does not hide the sender and the recipient from intermediate
2425
routers.
2526

26-
## Installing CJDNS and connecting to the network
27+
## Installing CJDNS and finding a peer to connect to the network
2728

2829
To install and set up CJDNS, follow the instructions at
29-
https://github.com/cjdelisle/cjdns#cjdns.
30+
https://github.com/cjdelisle/cjdns#how-to-install-cjdns.
3031

31-
Don't skip steps
32+
You need to initiate an outbound connection to a peer on the CJDNS network
33+
before it will work with your Bitcoin Core node. This is described in steps
3234
["2. Find a friend"](https://github.com/cjdelisle/cjdns#2-find-a-friend) and
3335
["3. Connect your node to your friend's
34-
node"](https://github.com/cjdelisle/cjdns#3-connect-your-node-to-your-friends-node).
35-
You need to be connected to the CJDNS network before it will work with your
36-
Bitcoin Core node.
36+
node"](https://github.com/cjdelisle/cjdns#3-connect-your-node-to-your-friends-node)
37+
in the CJDNS documentation.
38+
39+
One quick way to accomplish these two steps is to query for available public
40+
peers on [Hyperboria](https://github.com/hyperboria) by running the following:
41+
42+
```
43+
git clone https://github.com/hyperboria/peers hyperboria-peers
44+
cd hyperboria-peers
45+
./testAvailable.py
46+
```
47+
48+
For each peer, the `./testAvailable.py` script prints the filename of the peer's
49+
credentials followed by the ping result.
50+
51+
Choose one or several peers, copy their credentials from their respective files,
52+
paste them into the relevant IPv4 or IPv6 "connectTo" JSON object in the
53+
`cjdroute.conf` file you created in step ["1. Generate a new configuration
54+
file"](https://github.com/cjdelisle/cjdns#1-generate-a-new-configuration-file),
55+
and save the file.
56+
57+
## Launching CJDNS
3758

3859
Typically, CJDNS might be launched from its directory with
3960
`sudo ./cjdroute < cjdroute.conf` and it sheds permissions after setting up the

0 commit comments

Comments
 (0)