DHT的跨平台C++实现

cross platform - C++ implementation of DHT

本文关键字:实现 C++ 跨平台 DHT      更新时间:2023-10-16

我正在寻找C/C++中Kademlia DHT的开源实现。它必须是轻量级和跨平台的(win/linux/mac)。

它必须能够将信息发布到DHT并进行检索。

OpenDHT是C++11中的一个轻量级Kademlia DHT。API非常简单:

dht::DhtRunner node;
// Launch a dht node on a new thread, using a
// generated RSA key pair, and listen on port 4222.
node.run(4222, dht::crypto::generateIdentity(), true);
// Join the network through any running node,
// here using a known bootstrap node.
node.bootstrap("bootstrap.jami.net", "4222");
// put some data on the dht
std::vector<uint8_t> some_data(5, 10);
node.put("unique_key", some_data);

它支持在OSX、Linux和Windows上使用LLVM或GCC进行编译。

LibTorrent的Kademlia DHT是用C++编写的,并且有很好的文档记录
以下是具有不可变和可变get/put操作的示例代码:https://github.com/arvidn/libtorrent/blob/master/tools/dht_put.cpp

maidsafe dht有什么问题?

您可以尝试retroshare使用的bitdht。

我发现了一个BitTorrent DHT库,由Transmission使用。它是用纯C编写的,但从C++中可以很容易地使用它。

我正在我的C++项目中使用它。它运行良好,但需要外部加密哈希和随机化函数。