# Installation(Draft)

{% hint style="danger" %}
This document is currently in a development stage, and its content is subject to change as the project evolves. We are committed to ensuring the accuracy and completeness of the information provided; however, due to the dynamic nature of the project, some details may be updated or revised in future versions. Please refer to the most recent version of the document or contact the relevant team members for the latest information.
{% endhint %}

### Software Requirements

* Docker: Ensure that Docker is installed on your system. To download Docker, follow the instructions listed [here](https://docs.docker.com/get-docker/).
* Docker Compose: Make sure Docker Compose is also installed and properly configured. To download Docker Compose, follow the instructions listed [here](https://docs.docker.com/compose/install/).
* Linux Environment:  Pell Node Operator SDK is supported only on Linux. Ensure you have a Linux environment, such as Docker, for installation.
  * If you choose to install pell-cli using the Go programming language, ensure you have Go installed, version 1.21 or higher. You can find the installation guide [here](https://go.dev/doc/install).

### CLI Installation

#### **Install CLI using Binary**

To download a binary for latest release, run:

```Bash
curl -sSfL https://raw.githubusercontent.com/0xPellNetwork/pell-cli/master/scripts/install.sh | sh -s
```

The binary will be installed inside the `~/bin` directory.To add the binary to your path, run:

```Bash
export PATH=$PATH:~/bin
```

#### **Install CLI in A Custom Location**

To download the binary in a custom location, run:

```Bash
curl -sSfL https://raw.githubusercontent.com//0xPellNetwork/pell-cli/master/scripts/install.sh | sh -s -- -b <custom_location>
```

***

#### **Install CLI Using Go**

Now we’re going to install the pell-cli using Go. The following command will install pell's executable along with the library and its dependencies in your system.

```Bash
go install github.com//0xPellNetwork/pell-cli/cmd/pell-cli@latest
```

To check if the GOBIN is not in your PATH, you can execute `echo $GOBIN` from the Terminal. If it doesn't print anything, then it is not in your PATH. To add GOBIN to your PATH, add the following lines to your $HOME/.profile:

```Bash
export GOBIN=$GOPATH/bin
export PATH=$GOBIN:$PATH
```

Changes made to a profile file may not apply until the next time you log into your computer. To apply the changes immediately, run the shell commands directly or execute them from the profile using a command such as source $HOME/.profile.

***

#### **Install CLI from Source**

To pursue this installation method you need to have Go. Please ensure that you installed Go with a minimum version of 1.21 [here](https://go.dev/doc/install). With this method, you generate the binary manually, downloading and compiling the source code.

```Bash
git clone https://github.com/0xPellNetwork/pell-cli.git
cd pell-cli
mkdir -p build
go build -o build/pellcmd cmd/pell/main.go
```

or if you have **make** installed:

```Bash
git clone https://github.com/0xPellNetwork/pell-cli.git
cd pell-cli
make build2
```

The executable will be in the build folder.
