48 releases
new 0.0.50 | May 3, 2025 |
---|---|
0.0.48 | Apr 28, 2025 |
0.0.43 | Mar 16, 2025 |
0.0.28 | Dec 15, 2024 |
0.0.25 | Nov 5, 2024 |
#184 in Magic Beans
553 downloads per month
1MB
18K
SLoC
commonware-chat
Send encrypted messages to a group of friends using commonware-cryptography::ed25519 and commonware-p2p::authenticated.
Offline Friends
commonware-chat
only sends messages to connected friends. If a friend is offline at the time a message is sent,
commonware-p2p::authenticated
will drop the message. You can confirm you are connected to all your friends by checking the value
of p2p_connections
in the "Metrics Panel" in the right corner of the window. This metric should be equal to
count(friends)- 1
(you don't connect to yourself).
Synchronized Friends
commonware-p2p::authenticated
requires all friends to have the same set of friends for friend discovery to work
correctly. If you do not synchronize friends, you may be able to form connections between specific friends but may
not be able to form connections with all friends. You can learn more about why
this is here. Other
dialects of commonware-p2p
may not have this requirement.
Usage (4 Friends)
To run this example, you must first install Rust.
Friend 1 (Bootstrapper)
cargo run --release -- --me=1@3001 --friends=1,2,3,4
Friend 2
cargo run --release -- --me=2@3002 --friends=1,2,3,4 --bootstrappers=1@127.0.0.1:3001
Friend 3
cargo run --release -- --me=3@3003 --friends=1,2,3,4 --bootstrappers=1@127.0.0.1:3001
Friend 4 (Different Friend as Bootstrapper)
cargo run --release -- --me=4@3004 --friends=1,2,3,4 --bootstrappers=3@127.0.0.1:3003
Not Friend (Blocked)
cargo run --release -- --me=5@3005 --friends=1,2,3,4,5 --bootstrappers=1@127.0.0.1:3001
Dependencies
~31–48MB
~868K SLoC