zz-p2p

Crates.iozz-p2p
lib.rszz-p2p
version0.1.5
created_at2026-01-11 06:02:40.467541+00
updated_at2026-01-20 08:49:27.225295+00
descriptionA Rust library for managing cryptocurrency p2p network.
homepage
repositoryhttps://github.com/Free-Web-Movement/zz-rust-mod-p2p
max_upload_size
id2035260
size237,303
Eric (calidion)

documentation

README

zz-rust-mod-p2p

zz rust library for peer to peer connections and interactions.

zz rust 点对点 连接与交互库。

目标:

  1. 支持同一ip,端口下,同时可以响应udp, tcp, http, ws的请求

  2. 同时支持以上所有协议下的点对点连接

  3. 支持webrtc下的点对点连接方式

  4. 开发透明的点对点协议,只需要按点对点协议编写代码,就可以提供四种协议下的点对点服务。

  5. 提供点对点的应用平台基础。包括(消息,音频,视频)。

技术设定

  1. 将同一个节点的所有网络连接分为服务端节点与客户端节点,统一管理

  2. 将不同的服务器端单独列出来进行管理,也就是一个节点要同时管理 udp, tcp, http, web socket等至少四种服务器,让这个服务器,即可以服务于纯tcp的连接,也可以是http的连接,以及web socket的连接

  3. session共享,对于http连接来说,分享用户登录信息是一件比较麻烦的事情,但是在free web movement的p2p项目里,他通过Address里的公钥与地址系统可以实现session的共享

  4. 为不同的协议设定应用层面的统一接口。

架构图景

┌────────────────┐
│    CLI/UI      │   ← 人类操作
└────┬───────────┘
     │
┌────▼──────────────────────┐
│           Node             │  ← 节点生命周期 & 协调者
└────┬──────────────────────┘
     │
┌────▼──────────┐  ┌────────▼────────┐
│   TCPHandler  │  │   UDPHandler     │  ← 网络 IO
└────┬──────────┘  └────────┬────────┘
     │                         │
┌────▼─────────────────────────▼─────┐
│              Context                │  ← 全局共享状态
└────┬─────────────────────────┬─────┘
     │                         │
┌────▼──────────────┐   ┌──────▼───────────┐
│ ConnectedClients  │   │ ConnectedServers │
└────┬──────────────┘   └──────┬───────────┘
     │                         │
┌────▼───────────────────────────────────┐
│        Protocol Layer (Frame / Command) │
└────┬───────────────────────────────────┘
     │
┌────▼─────────────────────────┐
│ MessageCommand/EventCommand  │ ← 业务层(文本消息)
└──────────────────────────────┘

Commit count: 140

cargo fmt