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/fluxTo 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