@datadepo/ipfs

0.1.0 • Public • Published

Getting Started

$ npm i --save @datadepo/ipfs

Functions

init() async

Description This function connects to the node you provide via the url <String> param. You can also pass along a API call action using the action <String> parameter.

Parameters

Parameter Type Required Description
url <String> Yes HTTP URL of the IPFS node you would like to use.
action <String> No The type of IPFS Node API call you would like to make, currently 'add' is the action available.
file <multipart-form-data> No The file you would like to upload to your IPFS Node

Example

// controller.js
import { init } from "@datadepo/ipfs";
const someFunction = async (req, res) => {
	...
	const { yourFile } = req.files;
	const ipfsFileData = await init({ 
		url: <IFPS_NODE_HTTP_URL>, 
		action: <TYPE_OF_IPFS_API_CALL>, 
		file: yourFile 
	});
	console.log('IPFS Data: ', ipfsFileData);
	...
};

Expected response result

{
	client: { /*ipfs node client object */ },
	data: { // action response data, I.E: 'add'
		path: 'test.json',
	    cid: CID(QmaKzZnvoSU9Tw1roVZ3LB2LngZCGCskvRZ7tDXRNHuNME),
	    size: 44,
	    ipfsUrl: 'https://ipfs.io/ipfs/QmaKzZnvoSU9Tw1roVZ3LB2LngZCGCskvRZ7tDXRNHuNME'
	}
}

API Call Functions

add() async

Description This function is used to add a <multipart-form-data> encode file to the node client provide. It also handles the data type conversion from<Buffer> to <Uint8Array>.

Parameters

Parameters Type Required Description
client <Object> Yes The client object of the IPFS Node you're connected to.
file <multipart-form-data> Yes The file you would like to upload to the IPFS Node provided in the client parameter.

To-do list

  • [X] Create Functionality to connect to a ipfs node via HTTP.
  • [X] Create Functionality to upload files to a ipfs node via HTTP.
  • [ ] Create Functionality to pin files to a ipfs node via HTTP.

Feel free to make suggestions by adding to the to-do list section in this file and creating a pull request to this repository Package created by Data Depo, a subsidiary company of AppStack Inc.

Package Sidebar

Install

npm i @datadepo/ipfs

Weekly Downloads

2

Version

0.1.0

License

LGPL-3.0-or-later

Unpacked Size

3.7 MB

Total Files

8

Last publish

Collaborators

  • josiahw
  • kemelcodes
  • appstack_nyc