docs: 更新 libp2p 教程文档
这是一个基于 Rust 和 libp2p 构建的 P2P 网络示例项目,包含多个逐步进阶的示例,从基础的 Ping 节点到完整的文件共享系统。
libp2p-example/ ├── Cargo.toml # 工作区配置 ├── crates/ # 子项目目录 │ ├── ping/ # 基础 Ping 节点 │ ├── mdns/ # mDNS 节点发现 │ ├── identify/ # 节点身份识别 │ ├── chat/ # Gossipsub 聊天应用 │ ├── dht/ # Kademlia DHT 集成 │ └── file_share/ # 文件共享系统 ├── docs/ # 文档目录 │ └── readme.md # 详细教程 └── README.md # 项目说明(本文档)
# 安装最新 Rust 工具链 rustup update rustup toolchain install stable rustup default stable
git clone https://gitlink.org.cn/default/libp2p-example.git cd libp2p-example
# 终端 1:启动第一个节点 cargo run --package ping # 终端 2:启动第二个节点并连接到第一个 cargo run --package ping -- /ip4/127.0.0.1/tcp/<端口>/p2p/<节点ID>
# 在多个终端运行,自动发现本地网络中的节点 cargo run --package mdns
# 运行节点,自动交换节点身份信息 cargo run --package identify
# 在多个终端运行,输入消息开始聊天 cargo run --package chat
# 运行 DHT 节点,支持用户查找 cargo run --package dht # 可用命令: # /find <peer_id> - 查找用户 # /nick <nickname> - 设置昵称
# 运行文件共享节点 cargo run --package file_share # 可用命令: # /files <peer_id> - 请求文件列表 # /get <peer_id> <filename> - 下载文件 # /myfiles - 查看本地文件
欢迎提交 Issue 和 Pull Request!
MIT 许可证
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802032778号
Rust libp2p 示例项目
这是一个基于 Rust 和 libp2p 构建的 P2P 网络示例项目,包含多个逐步进阶的示例,从基础的 Ping 节点到完整的文件共享系统。
项目结构
项目特点
环境准备
安装 Rust
克隆项目
运行示例
1. Ping 节点
2. mDNS 节点发现
3. Identify 协议
4. 聊天应用
5. DHT 集成
6. 文件共享
技术栈
学习资源
贡献
欢迎提交 Issue 和 Pull Request!
许可证
MIT 许可证