Streaming
Last updated
Last updated
The Akave SDK CLI (akavesdk
) is a powerful command-line tool for managing storage and metadata on Akave’s decentralized network. Designed for developers, this SDK enables bucket and file management and efficient file streaming.
Clone repository
Install dependency (Requirements: Go 1.22+)
Go to :
Mac OS Installation instructions for Go (for all latest OS installation instructions go to https://go.dev/dl/)
Add to ~/.bashrc
Clone repository
Build the SDK CLI
To make the akavesdk
binary executable from any location without specifying the full path, you’ll need to move it to a directory in the system's PATH
. Here’s how to do it on Ubuntu, macOS, and other Unix-based systems.
On Ubuntu and most Debian-based distributions, you can move the binary to /usr/local/bin/
, which is a common directory for user-installed binaries.
macOS also uses /usr/local/bin/
for user-installed binaries. The same command will work:
For Red Hat-based distributions like CentOS and Fedora, /usr/local/bin/
is also typically in the PATH
, so you can use the same command:
/usr/local/bin
is Unavailable)On some systems, you might also consider /usr/bin/
. However, this is usually reserved for system binaries, so /usr/local/bin/
is preferred. If you must use /usr/bin/
, you can do so like this:
After moving the binary, you can confirm it's accessible by all users with:
This command should run without needing the full path, indicating that it’s correctly in the PATH
.
Public endpoint non-blockchain based network (--node-address=connect.akave.ai:5000
)
The streaming API enables efficient file uploads by chunking files and distributing blocks across nodes.
List Files: List all files in a specific bucket.
File Info: Retrieves metadata of a specific file.
Upload File: Upload a file by specifying a file path.
Download File: Download a file to a destination folder.
Delete File: Soft deletes a specific file.
The streaming API splits files into chunks (up to 32MB) for efficient uploads across multiple nodes. Files are uploaded through the following steps:
Create File Upload: Initiates a new file upload with a unique ID.
Upload Chunk: Each chunk is stored with a receipt for its block locations.
Commit Upload: Finalizes the file upload, making it available for access.
Good luck with the hackathon, and have fun building with Akave’s decentralized storage SDK CLI!
The CLI also supports direct interaction with the Akave node for bucket and file operations. These commands are useful for high-performance data transfers but do not use the blockchain-based operations provided by the