@ellumina/renthub-btfs
TypeScript icon, indicating that this package has built-in type declarations

3.0.0 • Public • Published

@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

Readme

Keywords

Package Sidebar

Install

npm i @ellumina/renthub-btfs

Weekly Downloads

77

Version

3.0.0

License

MIT

Unpacked Size

36.2 kB

Total Files

18

Last publish

Collaborators

  • ellumina