@ellumina/renthub-btfs
v3.0.0
Published
The one stop sdk compatible with the RentHub's official calls.
Downloads
217
Readme
@RenthubBTFS SDK
The @RenthubBTFS
SDK is designed to simplify interactions with the Renthub ecosystem. It supports uploading files and JSON data, as well as retrieving data from Renthub.
Table of Contents
Installation
To get started with the @RenthubBTFS
SDK, install it via npm:
npm i @ellumina/renthub-btfs
Usage
To use the SDK, you need to initialize an instance of the RentHub
class with your API key:
const RentHub = require("@ellumina/renthub-btfs").default;
const fs = require("fs");
const instance = new Renthub('your-api-key-here');
Replace 'your-api-key-here'
with your actual API key.
Modules
The SDK provides two modules: dev
and rental
. Each module includes three main functions for interacting with RentHub.
Dev Module
1. pinFile(stream: Readable): Promise<any>
Uploads a file to RenthubBTFS.
Parameters:
stream
: A readable stream of the file to be uploaded.
Example:
const stream = fs.createReadStream("path/to/your/file.png");
instance.dev.pinFile(stream)
.then((data) => {
console.log("File pinned successfully:", data);
})
.catch((err) => {
console.error("Error pinning file:", err);
});
2. pinJson(json: object): Promise<any>
Uploads a JSON object to RenthubBTFS.
Parameters:
json
: A JavaScript object to be uploaded.
Example:
instance.dev.pinJson({ "hello": "world" })
.then((data) => {
console.log("JSON pinned successfully:", data);
})
.catch((err) => {
console.error("Error pinning JSON:", err);
});
3. getJson(hash: string): Promise<any>
Retrieves a JSON object from RenthubBTFS using its hash.
Parameters:
hash
: The hash of the JSON object stored in RenthubBTFS.
Example:
instance.dev.getJson("file-hash-here")
.then((data) => {
console.log("JSON data retrieved:", data);
})
.catch((err) => {
console.error("Error retrieving JSON:", err);
});
Rental Module
The rental
module functions are similar to those in the dev
module but are used for different endpoints or purposes.
1. pinFile(stream: Readable): Promise<any>
Example:
const stream = fs.createReadStream("path/to/your/file.png");
instance.rental.pinFile(stream)
.then((data) => {
console.log("File pinned successfully:", data);
})
.catch((err) => {
console.error("Error pinning file:", err);
});
2. pinJson(json: object): Promise<any>
Example:
instance.rental.pinJson({ "hello": "world" })
.then((data) => {
console.log("JSON pinned successfully:", data);
})
.catch((err) => {
console.error("Error pinning JSON:", err);
});
3. getJson(hash: string): Promise<any>
Example:
instance.rental.getJson("file-hash-here")
.then((data) => {
console.log("JSON data retrieved:", data);
})
.catch((err) => {
console.error("Error retrieving JSON:", err);
});
Contributing
Contributions are welcome! If you find a bug or have suggestions for improvements, please open an issue or submit a pull request on GitHub.
License
This project is licensed under the MIT License. See the LICENSE file for details.
Author
Priyanshu Soni