Skip to content

PostSiliconDev/chamomile

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

crate doc

Chamomile

Build a robust stable connection on p2p network

features

  • Support build a robust stable connection between two peers on the p2p network.
  • Support permissionless network.
  • Support permissioned network (distributed network).
  • DHT-based & Relay connection.
  • Diff transports: QUIC(default) / TCP / UDP-Based Special Protocol.
  • Multiple transports connecting at same runtime.

Simple test.

  • A: cargo run --example permissionless 127.0.0.1:8000
  • B: cargo run --example permissionless 127.0.0.1:8001 127.0.0.1:8000
  • C: cargo run --example permissionless 127.0.0.1:8002 127.0.0.1:8000

If not support 127.0.0.1 binding, you can change to 0.0.0.0 and try again.

Relay test.

  • A: cargo run --example relay 192.168.xx.xx:8000
    • this ip is your LAN address, it will do relay work.
  • B: cargo run --example relay 127.0.0.1:8001 192.168.xx.xx:8000
    • start waiting stable connected by relay.
  • C: cargo run --example relay 127.0.0.1:8002 192.168.xx.xx:8000 XX..
    • XX.. is above's B network peer id will connected it.
    • And if change B and C 127.0.0.1 to 0.0.0.0, they will automatically connect after the handshake is successful, no longer need relay.

Design point

  • Mobile phones, IoT devices, PC and servers are first-class citizens
  • Ability to adapt to the transmission and penetration of complex network environments
  • Support for springboard function, virtual connection with other nodes, build virtual DHT
  • Encrypted transmission and secure DHT protection
  • It can support all interconnections and single-center connections under the LAN, and can also support DHT in the public network environment
  • Automatically switch the connection according to the number of connections and the network environment
  • If Alice use QUIC, Bob use TCP, they can still connect and communicate with each other.

License

This project is licensed under either of

at your option.

About

Lightweight p2p library. Support build robust connection on decentralized network.

Topics

Resources

License

Apache-2.0 and 2 other licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
Unknown
LICENSE-AW
MIT
LICENSE-MIT

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages