-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Reprovider to reannounce blocks to the network #2160
Comments
@vasco-santos thanks for reaching out!
The immediate next iteration of the reprovider gets simpler:
Most of our effort is going into reworking the provider itself. Ultimately, the goal is to provide a subset of all the blocks we are needing to provide now, while retaining overall discoverability of blocks. This will necessitate things like backlinks or some kind of meta to determine which blocks we can call One additional small thing we've done, and intend to retain, is prioritizing announcing root blocks first.
I am currently in the process of ripping all I'm happy to provide (tsk tsk) whatever info I can. |
I just wanted to point out some recent PRs in This PR introduces a rudimentary provider and the corresponding calls for doing the provide during This PR moves all the existing provider functionality behind one system so that we can plug in our new, more robust system as needed (and also removes providing from bitswap): Full disclosure, the new more robust system is currently under development. |
Thanks for your feedback @michaelavila and @dirkmc ! I will hopefully start working on this tomorrow and I will ping you if needed. |
@vasco-santos happy to help! I'll be at the team week, so if you're there we can meet up and chat about this stuff in person. Just let me know. |
js-ipfs is being deprecated in favor of Helia. You can learn more about this deprecation and read the migration guide. Please feel to reopen with any comments by 2023-06-02. We will do a final pass on reopened issues afterwards (see #4336). |
This issue is a child of Connectivity Magic #1459, and is intended to discuss the implementation of the reprovider in
js-ipfs
.The current implementation of reprovider in
go-ipfs
consists of iterating all blocks in blockstore and provide them every X hours (being X configurable through the config file). Other than that, the reprovider may have different strategies for deciding which blocks it should reprovide ipfs/go-ipfs/docs/config.md#reprovider.However,
go-ipfs
team is currently working on improving their reprovider. Consequently, it would be great to have an idea of what is the plan, in order to decide if we should start with this simpler implementation or with the newest one.Another aspect to take into consideration in the JS implementation is if we should create the concept of Provider. In this case,
js-ipfs-bitswap
would receive its reference and the Provider could abstract the providing logic from there. I don't know the current logic ofjs-ipfs-bitswap
yet to have strong conclusions in this regard.cc @michaelavila @Kubuxu @dirkmc @vmx
The text was updated successfully, but these errors were encountered: