1.2.1 • Published 6 months ago

ipfs-free v1.2.1

Weekly downloads
-
License
MIT
Repository
github
Last release
6 months ago

ipfs-free

ipfs-free aggregates multiple IPFS platform uploading SDKs into a single, easy to use package.

Features

  • Support uploading files to IPFS through Infura, Pinata, and more platforms
  • Consistent API across different platforms
  • Easy to switch between platforms
  • Abstracts away the underlying complexity of each IPFS API

Installation

npm install ipfs-free

Usage

import IpfsFree from 'ipfs-free';
const ipfsFree = new IpfsFree(
  {
    web3: [{
      token: <web3.storage token>,
    }],
    everland: [{
      key: '',
      secret: '',
      bucket: '',
    }],
    pinata: [{
      key: '',
      secret:
        '',
    }],
    lighthouse: [{
      token: '',
    }],
    filebase: [{
      key: '',
      secret: '',
      bucket: '',
    }],
    infura: [{
      key: '',
      secret: '',
    }],
  },
  { default: 'infura', random: true },
);
const { url, cid} = await ipfsFree.upload({
  hash: 'test',
  ext: '.txt',
  buffer: <file buffer>,
});

options params

  • default (Specify to select one of config provider)
  • random (randomly choose one of config provider)

Filebase Variable [ tutorial ]

VariableTypeDescriptionRequired
keystringFilebase access keyyes
secretstringFilebase access secretyes
bucketstringFilebase bucket nameyes

Pinata Variable

VariableTypeDescriptionRequired
keystringPinata access keyyes
secretstringPinata access secretyes

4Everland Variable

VariableTypeDescriptionRequired
keystring4Everland access keyyes
secretstring4Everland access secretyes
bucketstring4Everland bucket nameyes

Web3 Variable

VariableTypeDescriptionRequired
tokenstringWeb3 Storage API Tokenyes

Lighthouse Variable

VariableTypeDescriptionRequired
tokenstringLighthouse Storage API Tokenyes

Links


Contributing

We welcome contributions to ipfs-free! Feel free to open an issue or pull request to add new features, fix bugs, or improve documentation.

License

MIT This README covers the core highlights of your module including features, installation, usage, documentation, contributing guidelines and license. You can now use this as a starting point and modify it as needed to match your actual module. Let me know if you have any other questions!