151个版本 (39个破坏性更新)

0.77.10 2021年6月25日
0.76.1 2021年6月12日
0.56.0 2021年3月31日
0.39.12 2020年12月29日
0.38.0 2020年11月30日

#dht中排名50

Download history 2/week @ 2024-02-21 11/week @ 2024-02-28 4/week @ 2024-03-13 3/week @ 2024-03-27 3/week @ 2024-04-03

每月247次下载

GPL-3.0许可证

500KB
11K SLoC

请注意,该存储库现已归档

所有路由开发现在通过safe_network存储库进行

sn_routing

sn_routing - 一种专门的存储DHT

LoC
LoC
文档 MaidSafe网站 Safe开发论坛 Safe网络论坛

概述

这是一个基于kademlia-like实现的加密DHT,与递归网络相比,具有一些非常显著的不同之处。这是一个递归而非迭代的网络,使得NAT穿越更加容易,并能更有效地使用路由器和大型网络。这还允许非常快速地重新配置网络变化,从而减轻了对刷新算法的需求。基于连接导向的网络协议层的递归解决方案还允许将紧密的群体与安全协议对齐。

该库利用公钥密码学来允许一种机制,以确保节点被充分识别并加密保护。这种模式允许创建基于PKI的DHT,这反过来又允许去中心化网络使用与任何地址相关联的固定组。这在描述此处的持续流动网络中特别有用,创建一个无服务器和自治网络

这是一个非常不研究的领域。有关XOR空间设计背后的某些想法的通用介绍,建议观看《Safe网络从第一原理》系列。XOR距离度量法和基本路由讲座的幻灯片也在此提供。系列中的最后一个视频是关于如何将相同的思想应用于去中心化BitTorrent追踪器的,可在此处找到。路由算法的适当形式化正在进行中。

日志记录

消息通过标准的 log 库进行记录,并启用时,通过 env_logger 打印。默认情况下,这将打印级别为 "warn" 及以上的消息("error"),但不包括较低级别的消息("info"、"debug"、"trace")。级别可以显式设置(上述任意一个或 "off"),例如:

export RUST_LOG=sn_routing=info

可选地,以下子目标可以独立控制

  • stats — 关于连接和 sn_routing 表大小的消息
  • crust — 模拟 Crust 层的消息(非真实 Crust)

示例

export RUST_LOG=sn_routing=info,stats=off

许可证

根据通用公共许可证(GPL),版本 3(LICENSE http://www.gnu.org/licenses/gpl-3.0.en.html)授权。

链接例外

sn_routing 在 GPLv3 下授权,带有链接例外。这意味着您可以将链接到任何程序并使用库,无论是专有还是开源;付费或免费。然而,如果您修改 sn_routing,则必须按照 GPLv3 的条款分发修改版本的源代码。

有关更多详细信息,请参阅 LICENSE 文件。

贡献

想贡献?太好了 🎉

有多种方式可以向项目做出贡献,无论是编写新代码、修复错误还是仅报告错误。所有形式的贡献都受到鼓励!

有关如何贡献的说明,请参阅我们的贡献指南

依赖项

~26–41MB
~743K SLoC