Infura with OrbitDB?

I was trying to use Infura’s IPFS nodes with OrbitDB (a decentralised database that stores structured data on IPFS).

Thing is, using OrbitDB to access IPFS data results in 403 (Unauthorised), but using a local IPFS node causes no issues.

Here’s what I’ve been trying:

const IPFSClient = require("ipfs-http-client");

const ipfsClient = IPFSClient.create({
        url: "INFURA ENDPOINT",
        headers: {
          authorization: "Basic <base64(PROJECT_ID:PROJECT_SECRET)>"
        }
    });

const orbitDb = await OrbitDb.createInstance(ipfsClient); // Errors here

What’s wrong?

Hi :wave: @captain-woof and welcome to the Infura community!

Sharing here documentation on how to use Infura IPFS with ipfs-http-client:

@lovekosmas Like I said, the client is alright, but using it with OrbitDB errors out with a 403.

Try this:

authorization: 'Basic ’ + Buffer.from(projectId + ‘:’ + projectSecret).toString(‘base64’)

@traian.vila Of course I authenticated it like you wrote, still the 403.

Ah, just looked a bit closer into orbitDB, that’s because we don’t support pubsub yet, it looks like there is a way to not use pubsub though, you might wanna try it: https://github.com/orbitdb/orbit-db/issues/425#issuecomment-411060633