C++ реализация DHT

Я ищу реализации Kademlia DHT с открытым исходным кодом на C/C++. Он должен быть легким и кроссплатформенным (win/linux/mac).

Он должен иметь возможность отправлять информацию в DHT и извлекать ее.


person Alexander Shishenko    schedule 08.06.2011    source источник


Ответы (5)


Что не так с maidsafe-dht?

person Kirill V. Lyadvinsky    schedule 08.06.2011
comment
Спасибо! Я git-клонировал исходники, и это кажется очень качественным и понятным. - person Alexander Shishenko; 08.06.2011

OpenDHT – это облегченный DHT Kademlia на C++11. 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);

Он поддерживает компиляцию с помощью LLVM или GCC в OS X, Linux и Windows.

person aberaud    schedule 06.04.2015

Kademlia DHT от LibTorrent написан на C++ и хорошо документирован.
Вот пример кода с неизменяемыми и изменяемыми операциями get/put: https://github.com/arvidn/libtorrent/blob/master/tools/dht_put.cpp

person Tails From The Crypt    schedule 28.09.2018

Вы можете попробовать bitdht, используемый retroshare.

person fredix    schedule 17.08.2011
comment
жаль, что не совсем полный. - person marrat; 28.12.2011

Я нашел библиотеку BitTorrent DHT, используемую Transmission. Он написан на чистом C, но его можно легко использовать из C++.

Я использую его в своем проекте C++. Он работает хорошо, но требует внешнего криптографического хэша и функций рандомизации.

person Alexander Shishenko    schedule 12.10.2016