If I have an ipfs node running and announce to the network that I have some content pinned to my machine via āipfs dht provide hash keyā, how long will the network be aware that my node is providing this content?
Iāve noticed that after a few days, āipfs dht findprovs same hash I provided earlierā returns nothing. Does terminating the ipfs daemon sort of āeraseā that announcement? I would love to read a detailed explaination of DHT, it seems like black magic at the moment.
go-ipfs has a mechanism called reprovider which is supposed do handle providing content over time for you. There are some problems with how it works currently:
Itās only running a single provide query, and each query can take a significant amount of time (10-60s)
By default itās providing all blocks in the blockstore, which is less than optimal
For now what Iād recommend doing is to change Reprovider.Strategy in .ipfs/config to roots (to only reprovide pin roots) or pinned (to provide all pinned blocks).
Iād recommend using the roots strategy and pinning all blocks you think users will try to access directly.