JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 611
  • Score
    100M100P100Q116843F
  • License MIT

Toolkit for working with IPFS Gateways and CIDs

Package Exports

  • @pinata/ipfs-gateway-tools

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@pinata/ipfs-gateway-tools) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

IPFS Gateway Tools

IPFS Gateway Tools

Overview

This toolkit contains helper functions for working with IPFS gateway URLs and transforming them as desired.

Installation

npm install --save @pinata/ipfs-gateway-tools

Setup

To require this in your project simply include the library at the top of your file like so:

const ipfsGatewayTools = require('@pinata/ipfs-gateway-tools');

Usage

The IPFS gateway toolkit currently contains the following functions:

containsCID

ipfsGatewayTools.containsCID(url)
Params
  • url - A gateway url that should take one of the following forms:
    • ipfs://CID
    • ipfs://ipfs/CID
    • https://example-gateway.com/ipfs/CID
    • https://example-gateway.com/ipfs/CID/exampleFile.json
    • https://example-gateway.com/ipns/CID

Response

{
    containsCid: (Boolean) - True if the url contains a CID,
    cid: (string) - The CID that the url contains if "containsCid" is true
}

convertToDesiredGateway

ipfsGatewayTools.convertToDesiredGateway(sourceUrl, desiredGatewayPrefix)
Params
  • sourceUrl - A gateway url that should take one of the following forms:
    • ipfs://CID
    • ipfs://ipfs/CID
    • https://example-gateway.com/ipfs/CID
    • https://example-gateway.com/ipfs/CID/exampleFile.json
    • https://example-gateway.com/ipns/CID
  • desiredGatewayPrefix - The desired gateway you want to convert your source URL to. A few examples of this would be:
    • https://mygateway.mypinata.cloud
    • https://ipfs.io

Response

Returns a string that uses the desired source gateway prefix.

Example code:

const sourceUrl = 'https://exampleGateway.com/ipfs/bafybeifx7yeb55armcsxwwitkymga5xf53dxiarykms3ygqic223w5sk3m';
const desiredGatewayPrefix = 'https://mygateway.mypinata.cloud'
const convertedGatewayUrl = ipfsGatewayTools.convertToDesiredGateway(sourceUrl, desiredGatewayPrefix);

//In the example above, the resulting value for convertedGatewayUrl would be: https://mygateway.mypinata.cloud/ipfs/bafybeifx7yeb55armcsxwwitkymga5xf53dxiarykms3ygqic223w5sk3m

Questions? Issues? Suggestions?

Feel free to file a github issue or email us at team@pinata.cloud

We'd love to hear from you!