# 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.

{% hint style="info" %}
Blockchain-based data operations are done through the [Blockchain based SDK CLI ](/akave-sdk-cli/blockchain-integrated.md)(preferred)
{% endhint %}

## Installation

### Requirements

1. **Clone repository**

```bash
git clone https://github.com/akave-ai/akavesdk.git
cd akavesdk
```

2. **Install dependency (**&#x52;equirements: 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:

```bash
brew install go
```

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

```bash
brew upgrade go
```

#### After installing or upgrading, confirm the version:&#x20;

```bash
go version
```

### Ubuntu OS Go install example

#### Download package, check online for new version if needed.

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

#### Install Go package

```bash
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:&#x20;

```bash
go version
```

### **Build**

1. **Clone repository**

```bash
git clone https://github.com/akave-ai/akavesdk.git
cd akavesdk
```

2. **Build the SDK CLI**

```bash
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.

```bash
sudo mv bin/akavesdk /usr/local/bin/
```

#### 2. macOS

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

```bash
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:

```bash
sudo mv bin/akavesdk /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:

```bash
sudo mv bin/akavesdk /usr/bin/
```

#### Verifying the Installation

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

```bash
akavesdk version
```

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

## Run

{% hint style="info" %}
Make sure the minimum file size is 127 bytes! Keep max size to test at 100MB
{% endhint %}

***

### 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.](/akave-sdk-cli/blockchain-integrated.md)

### Node Address

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

#### Bucket Management Commands

* **Create Bucket:** Creates a new bucket.

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

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

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

  ```bash
  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!


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://hackathon-docs.akave.ai/akave-sdk-cli/normal.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
