Normal

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.

Blockchain-based data operations are done through the Blockchain based SDK CLI (preferred)

Installation

Requirements

  1. Clone repository

git clone https://github.com/akave-ai/akavesdk.git
cd akavesdk
  1. Install dependency (Requirements: Go 1.22+)

Go to : https://go.dev/doc/install

Mac OS Go install example

Mac OS Installation instructions for Go (for all latest OS installation instructions go to https://go.dev/dl/)

If you don’t already have Go installed, you can add it with:

brew install go

If Go is installed and you need to upgrade to version 1.22+ use:

brew upgrade go

After installing or upgrading, confirm the version:

go version

Ubuntu OS Go install example

Download package, check online for new version if needed.

wget https://go.dev/dl/go1.23.2.linux-amd64.tar.gz

Install Go package

rm -rf /usr/local/go && tar -C /usr/local -xzf go1.23.2.linux-amd64.tar.gz

Set path

Add to ~/.bashrc

export PATH=$PATH:/usr/local/go/bin

After installing or upgrading, confirm the version:

go version

Build

  1. Clone repository

git clone https://github.com/akave-ai/akavesdk.git
cd akavesdk
  1. Build the SDK CLI

make build  # outputs a CLI binary to bin/akavecli

Test & make binary system wide available

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.

1. Ubuntu/Debian

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.

sudo mv bin/akavecli /usr/local/bin/

2. macOS

macOS also uses /usr/local/bin/ for user-installed binaries. The same command will work:

sudo mv bin/akavecli /usr/local/bin/

3. Other Unix-Based Systems (e.g., CentOS, Fedora)

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:

sudo mv bin/akavecli /usr/local/bin/

4. Alternative Locations (If /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:

sudo mv bin/akavecli /usr/bin/

Verifying the Installation

After moving the binary, you can confirm it's accessible by all users with:

akavecli version

This command should run without needing the full path, indicating that it’s correctly in the PATH.

Run

Make sure the minimum file size is 127 bytes! Keep max size to test at 100MB


Standard CLI Commands

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 IPC API.

Node Address

Public endpoint non-blockchain based network (--node-address=connect.akave.ai:5000)

Bucket Management Commands

  • Create Bucket: Creates a new bucket.

    akavecli bucket create <bucket-name> --node-address=<node-address>
  • View Bucket: Retrieves details of a specific bucket.

    akavecli bucket view <bucket-name> --node-address=<node-address>
  • List Buckets: Lists all buckets in the network.

    akavecli bucket list --node-address=<node-address>
  • Delete Bucket: Soft deletes a bucket.

    akavecli bucket delete <bucket-name> --node-address=<node-address>

Last updated