[r2cn] 去中心化的 Relay 基础功能 #841
Labels
decentralized
enhancement
New feature or request
r2cn
r2cn-30
rust
Pull requests that update Rust code
未认领
Milestone
[任务] 去中心化的 Relay 基础功能
[任务分值] 30 分
[背景描述] 为了减少对中心化
Git
服务的依赖,同时为了提供更加开放自由的开源协作环境,使用QUIC
协议来为Mega
构建去中心化网络,以支持分布式的仓库分享和消息传递等功能。QUIC
协议是基于UDP
的可靠传输协议,具有低延迟和高安全的特点,是HTTP/3
的底层协议。Mega
将基于QUIC
协议,并采用Relay
和Client
的模型来构建去中心化网络,Client
是本地Mega
服务,Relay
是一种特殊Client
,具备Client
所有功能的同时,会拥有 节点发现 、连接管理 、消息转发 等服务,为Client
提供去中心化接入支持。[需求描述] 使用
quinn
和tokio
库来实现Relay
的功能:ID
和Connection
的对应关系数据结构;Connection
;tokio
库实现消息在线程之间传递;client
封装接口;[代码标准]
Signed-off-by
和 使用GPG
签名,即提交代码时(使用git commit
命令时)至少使用-s -S
两个参数,参考 Contributing Guide;GitHub Actions
自动化测试,提交 PR 后请关注GitHub Actions
结果;[PR 提交地址] 提交到 mega 仓库的
main
分支 `` 目录;[开发指导]
[导师及邮箱] 请申请此题目的同学使用邮件联系导师,或加入到 R2CN Discord 后在
#p-meta
频道和导师交流。[备注]
The text was updated successfully, but these errors were encountered: