Libtorrent获取文件由默克尔哈希



我怎么能请求文件知道它的默克尔哈希通过libtorrent?我很高兴看到一段代码,或者只是对逻辑的描述。我需要下载基于Merkle哈希的。torrent文件吗

首先,有两个bep定义了基于默克尔树的种子。BEP30和BEP52。这两种方法都不支持仅基于merkle哈希共享文件,因为它们需要一些额外的数据来构建最小可行的种子,例如块大小或文件大小。为了支持多个文件、文件名和其他东西,需要一些额外的元数据,这些元数据最终被封装在infohash中。所以洪流客户端通常处理信息哈希,而不是文件哈希。

您可以通过选择固定的文件名和固定的块大小来绕过这些要求,然后为您的文件生成规范的元数据表示。在libtorrent中,可以通过create_torrent() API创建一个仅支持v2版本的torrent(BEP52没有向后兼容性)。

最新更新