The @ellumina/flux
SDK is designed to simplify interactions with the Flux ecosystem. It supports uploading files and JSON data, as well as retrieving data from Flux.
To get started with the @ellumina/flux
SDK, install it via npm:
npm install @ellumina/flux
To use the SDK, you need to initialize an instance of the Flux
class with your API key:
const Flux = require("@ellumina/flux").default;
const fs = require("fs");
const instance = new Flux('your-api-key-here');
Replace 'your-api-key-here'
with your actual API key.
The SDK provides two modules: dev
and rental
. Each module includes three main functions for interacting with Flux.
Uploads a file to Flux.
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);
});
Uploads a JSON object to Flux.
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);
});
Retrieves a JSON object from Flux using its hash.
Parameters:
-
hash
: The hash of the JSON object stored in Flux.
Example:
instance.dev.getJson("file-hash-here")
.then((data) => {
console.log("JSON data retrieved:", data);
})
.catch((err) => {
console.error("Error retrieving JSON:", err);
});
The rental
module functions are similar to those in the dev
module but are used for different endpoints or purposes.
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);
});
Example:
instance.rental.pinJson({ "hello": "world" })
.then((data) => {
console.log("JSON pinned successfully:", data);
})
.catch((err) => {
console.error("Error pinning JSON:", err);
});
Example:
instance.rental.getJson("file-hash-here")
.then((data) => {
console.log("JSON data retrieved:", data);
})
.catch((err) => {
console.error("Error retrieving JSON:", err);
});
Contributions are welcome! If you find a bug or have suggestions for improvements, please open an issue or submit a pull request on GitHub.
This project is licensed under the MIT License. See the LICENSE file for details.
Priyanshu Soni