【发布时间】:2023-04-07 21:43:01
【问题描述】:
我正在了解 IPFS 的概念。 IPFS 的一个重要方面是位交换,它基本上处理如何使用需求列表请求数据块。
我的问题是,一旦一个同伴从其他同伴那里得到了想要的名单,
它实际上是如何从实际存储设备中获取数据的?
其中涉及哪些步骤?
如何根据 bitswap 请求针对不同的存储协议进行转换。
请帮我解答这些问题。
【问题讨论】:
我正在了解 IPFS 的概念。 IPFS 的一个重要方面是位交换,它基本上处理如何使用需求列表请求数据块。
我的问题是,一旦一个同伴从其他同伴那里得到了想要的名单,
它实际上是如何从实际存储设备中获取数据的?
其中涉及哪些步骤?
如何根据 bitswap 请求针对不同的存储协议进行转换。
请帮我解答这些问题。
【问题讨论】:
我还在学习,所以像这样的问题是深入挖掘的好机会:)
它实际上是如何从实际存储设备中获取数据的? 其中涉及哪些步骤?
根据 Bitswap api 文档,看起来 bitswap 在提供的 libp2p 实例和 blockstore 实例上运行。
blockstore 实例是对实际数据存储的抽象,它可以是任何东西的软件抽象——存储服务,如 S3、虚拟设备或真实设备。
根据我读过的配置位,可以通过配置 libp2p 实例的任何传输来完成获取,并且任何连接的节点也支持(基于每个节点)。
假设两个节点之间的两端都支持多种传输,我不知道 best 连接是如何由 libp2p 协商/决定的...
如何根据 bitswap 请求针对不同的存储协议进行转换。
IIUC,在块级别不会发生任何转换 - 这将发生在堆栈中的更高级别 (IPLD)。
我通读了这些以获得更好的理解:
【讨论】: