From 2d120faab367e4854e447e90fcefdaa32184baa3 Mon Sep 17 00:00:00 2001 From: Marcin Rataj Date: Wed, 17 Dec 2025 17:31:11 +0100 Subject: [PATCH] fix(docs): add explicit provide to kubo-as-a-library example add Routing().Provide() call to ensure content is immediately discoverable via Amino DHT instead of relying on background reprovide which may not complete within the test timeout. --- docs/examples/kubo-as-a-library/main.go | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/docs/examples/kubo-as-a-library/main.go b/docs/examples/kubo-as-a-library/main.go index ffa86c7f0..7a66199e6 100644 --- a/docs/examples/kubo-as-a-library/main.go +++ b/docs/examples/kubo-as-a-library/main.go @@ -15,6 +15,7 @@ import ( "github.com/ipfs/boxo/files" "github.com/ipfs/boxo/path" icore "github.com/ipfs/kubo/core/coreiface" + "github.com/ipfs/kubo/core/coreiface/options" ma "github.com/multiformats/go-multiaddr" "github.com/ipfs/kubo/config" @@ -330,6 +331,17 @@ func main() { } fmt.Println("Connected to peers") + // By default, Kubo uses optimized background providing via Provide.DHT.SweepEnabled + // (see https://github.com/ipfs/kubo/blob/master/docs/config.md#providedhtsweepenabled) + // Since we don't want to wait for the automatic background provide to occur, + // we do an ad-hoc provide to make the content immediately available on the Amino DHT. + // We only provide the root CID (non-recursive) since that's all we need for this example. + fmt.Println("Providing file to Amino DHT...") + if err = ipfsA.Routing().Provide(ctx, peerCidFile, options.Routing.Recursive(false)); err != nil { + panic(fmt.Errorf("could not provide file: %s", err)) + } + fmt.Println("File provided to Amino DHT") + exampleCIDStr := peerCidFile.RootCid().String() fmt.Printf("Fetching a file from the network with CID %s\n", exampleCIDStr)