3个稳定版本
1.0.2 | 2023年10月6日 |
---|
6 在 #peer-id
2,570 每月下载量
用于 tdyne-peer-id-registry
9KB
87 行
BitTorrent peer ID的基础类型
tdyne_peer_id
是BitTorrent peer ID的新类型,表示为 [u8; 20]
。它被有意保持非常简约,以最小化向后不兼容的更改。
[dependencies]
tdyne-peer-id = "1"
示例
use tdyne_peer_id::{PeerId, BadPeerIdLengthError};
fn main() {
let byte_array: &[u8; 20] = b"-TR0000-*\x00\x01d7xkqq04n";
let byte_slice: &[u8] = b"-TR0000-*\x00\x01d7xkqq04n";
let short_byte_slice: &[u8] = b"-TR0000-";
// creating a PeerId from an array is simple
let peer_id = PeerId::from(b"-TR0000-*\x00\x01d7xkqq04n");
assert_eq!(peer_id.to_string(), "-TR0000-???d7xkqq04n".to_string());
// you can also create PeerId from a byte slice if its 20 bytes long
_ = PeerId::try_from(byte_slice).expect("matching lengths");
// …if it's not, you get an error
let error = BadPeerIdLengthError(short_byte_slice.len());
assert_eq!(PeerId::try_from(short_byte_slice).expect_err("lengths don't match"), error);
}
使用 tdyne_peer_id
的库和项目
tdyne_peer_id_registry
,Peer ID数据库和解析器
tdyne_peer_id
是由 TORRENTDYNE 开源的,一个BitTorrent诊断服务。
许可证
根据您的选择,许可为Apache License,版本2.0 或 MIT许可证。除非您明确表示,否则您提交的任何旨在包含在此软件包中的贡献,根据Apache-2.0许可证的定义,均应双重许可,不附加任何额外条款或条件。