@datadepo/ipfs
v0.1.0
Published
IPFS HTTP Client wrapper
Downloads
7
Readme
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 theaction <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.