如何通过libtorrent请求知道Merkle散列的文件?我很高兴看到一段代码,或者只是逻辑的描述。我是否需要下载基于Merkle散列的.torrent文件
发布于 2021-02-19 03:14:34
首先,有两个BEP定义了基于merkle树的torrents。BEP30和BEP52。两者都不能单独基于merkle散列来共享文件,因为它们需要一些额外的数据来构建最小可行的洪流,例如块大小或文件大小。为了支持多个文件、文件名和其他东西,需要一些额外的元数据,这些元数据最终被封装在infohash中。因此torrent客户端通常处理信息散列,而不是文件散列。
您可以通过选择固定的文件名和固定的块大小来绕过这些要求,然后为您的文件生成规范的元数据表示。在libtorrent中,可以通过create_torrent() API创建一个仅支持v2的torrent (没有向后兼容性的BEP52)。
https://stackoverflow.com/questions/66259469
相似问题