显示软件包…

2 个不稳定版本

0.27.0 2021年3月15日
0.0.0 2021年3月11日

#104 in #tetcore

MIT 许可证

535KB
9K SLoC

Secio 协议是一个中间件,它将加密和解密通过套接字(或任何实现 AsyncRead + AsyncWrite)进行的通信。

使用方法

SecioConfig 实现 InboundUpgradeOutboundUpgrade,因此充当传输认证的连接升级。请参阅 authenticate

use futures::prelude::*;
use secio::{SecioConfig, SecioOutput};
use tet_libp2p_core::{PeerId, Multiaddr, identity, upgrade};
use tet_libp2p_core::transport::Transport;
use tet_libp2p_mplex::MplexConfig;
use tet_libp2p_tcp::TcpConfig;

// Create a local peer identity.
let local_keys = identity::Keypair::generate_ed25519();

// Create a `Transport`.
let transport = TcpConfig::new()
    .upgrade(upgrade::Version::V1)
    .authenticate(SecioConfig::new(local_keys.clone()))
    .multiplex(MplexConfig::default());

// The transport can be used with a `Network` from `tet-libp2p-core`, or a
// `Swarm` from from `tet-libp2p-swarm`. See the documentation of these
// crates for mode details.

// let network = Network::new(transport, local_keys.public().into_peer_id());
// let swarm = Swarm::new(transport, behaviour, local_keys.public().into_peer_id());

依赖关系

~9–15MB
~322K SLoC