#分布式 #P2P #区块链 #物联网设备

chamomile

另一个 P2P 库。支持物联网设备。

23 个版本

0.10.8 2024 年 3 月 19 日
0.10.7 2023 年 8 月 21 日
0.10.6 2023 年 7 月 21 日
0.10.3 2023 年 2 月 1 日
0.1.0 2020 年 6 月 11 日

#12#物联网设备

Download history 45/week @ 2024-04-01 31/week @ 2024-04-08 3/week @ 2024-04-22 2/week @ 2024-04-29 14/week @ 2024-05-06 35/week @ 2024-05-13 46/week @ 2024-05-20 24/week @ 2024-06-03 26/week @ 2024-06-10 33/week @ 2024-06-17 16/week @ 2024-06-24 30/week @ 2024-07-01 5/week @ 2024-07-08 27/week @ 2024-07-15

每月 78 次下载
3 个 crate 中使用 (通过 tdn)

MIT/Apache

200KB
4.5K SLoC

crate doc

Chamomile

在 P2P 网络上构建健壮稳定的连接

特性

  • 支持在 P2P 网络上的两个节点之间构建健壮稳定的连接。
  • 支持无需许可的网络。
  • 支持授权网络(分布式网络)。
  • 基于 DHT 和中继连接。
  • 多种传输方式:QUIC(默认)/ TCP / UDP 基础协议。
  • 同一运行时连接多种传输方式。

简单测试。

  • 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

如果不支持 127.0.0.1 绑定,您可以更改为 0.0.0.0 并再次尝试。

中继测试。

  • A: cargo run --example relay 192.168.xx.xx:8000
    • 此 IP 是您的局域网地址,它将执行中继工作。
  • B: cargo run --example relay 127.0.0.1:8001 192.168.xx.xx:8000
    • 启动等待通过中继稳定连接。
  • C: cargo run --example relay 127.0.0.1:8002 192.168.xx.xx:8000 XX..
    • XX.. 是上面 B 网络的 peer id 将连接到它。
    • 如果将B和C修改为127.0.0.1改为0.0.0.0,握手成功后它们将自动连接,不再需要中继。

设计点

  • 手机、物联网设备、PC和服务器是第一类公民
  • 能够适应复杂网络环境的传输和穿透能力
  • 支持弹跳功能,与其他节点建立虚拟连接,构建虚拟DHT
  • 加密传输和安全DHT保护
  • 支持局域网下所有互联和单中心连接,也可以支持公共网络环境中的DHT
  • 根据连接数和网络环境自动切换连接
  • 如果Alice使用QUIC,Bob使用TCP,他们仍然可以相互连接和通信。

更多信息,请访问

许可证

本项目采用以下任一许可证

任选其一。

依赖项

~22–33MB
~537K SLoC