#hash-table #peer #pulsar #routes #distributed #blockchain #astreuos

pulsar-network

Pulsar Network是一个用于Astueos区块链的分布式哈希表对等通信协议。

16个版本 (5个破坏性版本)

0.8.0 2022年5月3日
0.7.0 2022年4月11日
0.6.1 2022年4月5日
0.5.3 2022年3月26日
0.1.2 2021年12月9日

#1#astreuos

每月42次下载

MIT 许可证

26KB
530

Pulsar Network

Pulsar Network是Astueos区块链的分布式哈希表对等通信协议。

特性

  • 在节点之间发送和接收消息。
  • 消息包含上下文、随机数、发送者、路由和时间。
  • 消息加密使用chacha20poly1305和x25519 blake3作为密钥。
  • 节点可以通过发送加入请求和有效的节点返回最近的节点加入网络。
  • 节点可以被ping并返回它们的公钥和支持的路由。
  • 目前支持的路由包括Astueos区块链主路由和测试路由。

API

客户端

use pulsar_network::{Client, Route};

let bootstrap = false;

let route = Route::Test

let seeders: Vec<SocketAddr>;

let client = Client::new(bootstrap, route, seeders);

for (message, peer) in client.messages() {
    println!("Got: {}", message.body);
}

消息

use pulsar_network::{Message, Kind};

let mut message = Message::new(Kind::Block, message_bytes);

广播

network.broadcast(message);

发送

network.send(message, peer)

改进

  • 多线程
  • 临时密钥
  • 蓝牙通信

贡献

欢迎提交拉取请求、错误报告和任何建议。

2022-05-03

依赖项

~6MB
~125K SLoC