Skip to content

IPFS

Blumen supports a wide range of different IPFS providers. If you would like to integrate your provider, feel free to submit a pull request.

Spec-compliant Pinning Service

Obtain an opaque access token from the service. Populate your environment as such:

BLUMEN_SPEC_TOKEN=<access_token>
BLUMEN_SPEC_URL=https://pinning-service.example.com

Filebase

BLUMEN_FILEBASE_TOKEN for upload + pin is obtained by encoding access key and access secret to base64. Access key and access secret could be found in the Filebase console.

Filebase console

The easiest way to generate an S3 API token is using the base64 command:

sh
echo "$accessKey:$accessSecret" | base64

Storacha

First you have to install w3up cli:

bash
npm i -g @web3-storage/w3cli
bash
pnpm i -g @web3-storage/w3cli
bash
bun i -g @web3-storage/w3cli

Then you need to login to your Storacha account:

Once log in is successful, you need to select your space. Grab the DID (the did:key:... string) from Storacha web console and run the following command:

sh
w3 space use did:key:...

When both the account and the space are set up, you need to generate a unique private key. Later we'll need it to generate a proof (that gives us permit to upload files on Storacha).

bash
npx ucan-key ed
bash
pnpx ucan-key ed
bash
bunx ucan-key ed

Save this private key (which starts with Mg..) to an environment variable (BLUMEN_STORACHA_TOKEN).

You also need to create a delegation for the generated DID:

sh
w3 delegation create <did_from_ucan-key_command_above> --can 'store/add' --can 'upload/add' --can 'space/blob/add' --can 'space/index/add' | base64

Save the command output in a BLUMEN_STORACHA_PROOF environment variable or save it to a file (that should not be uploaded!) and then read from it like this:

sh
BLUMEN_STORACHA_PROOF=`cat proof.txt`

Pinata

Go to the dashboard page, then "API Keys" under "Developer" section. Click "New Key". An API key creation dialog should apppear. Select the checkboxes related to pinning. Click "Generate API Key".

Pinata dashboard

Save the JWT token to the BLUMEN_PINATA_TOKEN environment variable.

4EVERLAND

Open 4EVERLAND dashboard. Navigate to Storage > 4Ever Pin. Click "Access token". Copy the token and save it to the BLUMEN_4EVERLAND_TOKEN environment variable.

QuickNode

Go to the dashboard and open the "API Keys" page. Click "Add API Key". In the "Applications" modal choose only "IPFS_REST".

Quicknode API key modal

Lighthouse

Go to "API Key", enter "Blumen" in the input box and click "Generate".