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
每月下载量 245,837
被 242 个crate使用(直接使用 16个)
365KB
7K SLoC
Noise 协议框架 对 libp2p 的支持。
注意:此 crate 仍然处于实验阶段,API 和线协议都可能会发生重大变更。
此 crate 为各种 noise 握手模式(目前为 IK
、IX
和 XX
)提供了 libp2p_core::InboundUpgrade
和 libp2p_core::OutboundUpgrade
实现,这些模式基于特定的 Diffie–Hellman 密钥交换算法(目前仅支持 X25519)。
注意:目前只有
XX
握手模式能保证与其他 libp2p 实现的互操作性。
所有升级都输出一对,由远程的静态公钥和一个表示与远程建立的加密会话的 NoiseOutput
组成,实现 futures::io::AsyncRead
和 futures::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