You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In order to run Bitswap retrieval as a separate process, we would need to
1. Expose a read-only Blockstore interface on Boost
The Bitswap server needs to call blockstore methods to respond to incoming requests.
We should expose the following Blockstore methods as API endpoints on Boost: Has(cid), Get(cid), GetSize(cid)
The DAG store exposes a Blockstore interface over all cids in all deals, so we can connect the API endpoints to this DAG store interface.
2. Make announcements to the index provider each time a deal is added to Boost
The Bitswap process will have a libp2p node.
We should create an index announcer with the libp2p node's host. The index announcer will announce that this host has the blocks.
The Bitswap process can poll Boost for new deals and announce the deals using the index announcer.
We should expose an API endpoint on Boost that the Bitswap process can poll for new deals.
There was a problem before where the index announcer looked up the address of the storage provider on chain instead of reading the address from the announcement. Need to check if this was fixed.
3. Respond to requests from the indexer node for indices in a piece
The Bitswap process will run the indexer announcer.
The index announcer takes a callback parameter to query for all cids in a piece
We should expose an API endpoint on Boost that serves all cids in a piece
In order to run Bitswap retrieval as a separate process, we would need to
1. Expose a read-only Blockstore interface on Boost
Has(cid)
,Get(cid)
,GetSize(cid)
2. Make announcements to the index provider each time a deal is added to Boost
3. Respond to requests from the indexer node for indices in a piece
This work would build on top of Create a PoC of bitswap retrieval from Boost
The text was updated successfully, but these errors were encountered: