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.
Installation
Requirements
Clone repository
git clone https://github.com/akave-ai/akavesdk.git
cd akavesdk
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
Clone repository
git clone https://github.com/akave-ai/akavesdk.git
cd akavesdk
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/akavesdk /usr/local/bin/
2. macOS
macOS also uses /usr/local/bin/
for user-installed binaries. The same command will work:
sudo mv bin/akavesdk /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/akavesdk /usr/local/bin/
4. Alternative Locations (If /usr/local/bin
is Unavailable)
/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/akavesdk /usr/bin/
Verifying the Installation
After moving the binary, you can confirm it's accessible by all users with:
akavesdk version
This command should run without needing the full path, indicating that it’s correctly in the PATH
.
Run
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>
Good luck with the hackathon, and have fun building with Akave’s decentralized storage SDK CLI!
Last updated