Getting Started
$ npm i --save @datadepo/ipfs
Functions
async
init() 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
async
add() 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.