53 个版本 (重大变更)

0.45.0 2024年8月9日
0.44.0 2023年11月5日
0.43.2 2023年10月16日
0.43.0 2023年6月20日
0.4.0 2019年3月29日

密码学 中排名 190

Download history 44312/week @ 2024-04-29 43946/week @ 2024-05-06 50550/week @ 2024-05-13 49487/week @ 2024-05-20 56159/week @ 2024-05-27 50712/week @ 2024-06-03 46699/week @ 2024-06-10 45567/week @ 2024-06-17 50552/week @ 2024-06-24 44220/week @ 2024-07-01 44401/week @ 2024-07-08 57800/week @ 2024-07-15 59368/week @ 2024-07-22 52245/week @ 2024-07-29 58671/week @ 2024-08-05 72807/week @ 2024-08-12

每月下载量 245,837
242crate使用(直接使用 16个)

采用 MIT 许可协议

365KB
7K SLoC

Noise 协议框架 对 libp2p 的支持。

注意:此 crate 仍然处于实验阶段,API 和线协议都可能会发生重大变更。

此 crate 为各种 noise 握手模式(目前为 IKIXXX)提供了 libp2p_core::InboundUpgradelibp2p_core::OutboundUpgrade 实现,这些模式基于特定的 Diffie–Hellman 密钥交换算法(目前仅支持 X25519)。

注意:目前只有 XX 握手模式能保证与其他 libp2p 实现的互操作性。

所有升级都输出一对,由远程的静态公钥和一个表示与远程建立的加密会话的 NoiseOutput 组成,实现 futures::io::AsyncReadfutures::io::AsyncWrite

使用方法

示例

use libp2p_core::{Transport, upgrade, transport::MemoryTransport};
use libp2p_noise as noise;
use libp2p_identity as identity;

let id_keys = identity::Keypair::generate_ed25519();
let noise = noise::Config::new(&id_keys).unwrap();
let builder = MemoryTransport::default().upgrade(upgrade::Version::V1).authenticate(noise);
// let transport = builder.multiplex(...);

依赖

~6–18MB
~252K SLoC