# Checker Client Linux CLI Guide

{% hint style="warning" %}
This is an archived page. For the latest information, refer to the [checker guide](https://docs.aethir.com/checker-guide).
{% endhint %}

### Video Tutorial

{% embed url="<https://www.youtube.com/watch?ab_channel=Aethir&index=3&list=PLDupr7L6v1HX3OqB-m8gsAjEeD0ZSd6YX&v=OJdKySpAL1M>" %}

### Quick Start

The minimum version required is:&#x20;

> \>= Centos 7， >= Ubuntu 18.04

<figure><img src="https://3028335560-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FlJdZs7NyMJ6Ewm4U1eRP%2Fuploads%2FKCcdrFtcnFpdt0Zip2fi%2FScreenshot%202024-06-11%20at%2010.20.25%20AM.png?alt=media&#x26;token=752261af-face-42dc-bbd6-89368ab94aff" alt=""><figcaption></figcaption></figure>

1. Download and install the **Checker Client Linux CLI** from app.aethir.com
2. Install

   1. `Download from app.aethir.com`
   2. `Unzip`
   3. `cd into the directory`
   4. `sudo ./install.sh`
   5. `sudo ./AethirCheckerCLI`

   Please note that this is a mandatory upgrade. Please also note that you cannot run 2 Linux CLI or Windows GUI at the same time, as that would lead to unexpected error.
3. Create **wallet**

```jsx
aethir wallet create
```

2. Give the **public** **key** to the License Owner
3. Once Owner initiated the delegation process, check the list of **pending licenses**

```jsx
aethir license list --pending
```

4. Get the license IDs, and **approve**:

```jsx
aethir license approve [License ID]
```

5. If you’d like to **approve all** pending licenses, use:

```jsx
aethir license approve --all
```

6. Checker nodes are running automatically. If they are either in **Ready** or **Checking** status, you are good to go! You can **verify** by using:

```jsx
aethir license list --ready 
```

```
aethir license list --checking 
```

or

```jsx
aethir license summary
```

7. **Quit** application - the owner will stop earning rewards

### Commands

### 1. Wallet

#### Create Wallet

```jsx
aethir wallet create
```

Create the wallet and display the public/private key on the screen

The developer decides whether to regenerate or use the already generated public and private keys to connect to the server

#### Import Wallet

```jsx
aethir wallet import [private key]
```

Please note, you can only import private/public key pair that was generated by the Aethir Client or CLI.

If you have already used the `create` command, you will be prompted: You cannot import a wallet after having created one. You can get more information from `wallet export`

#### Export Wallet

```jsx
aethir wallet export
```

List public/private keys

### 2. License

#### List License

```jsx
aethir license list
```

Each of the following display lists in the form of: `License ID` ｜ `Owner Address` ｜ `Status`

1. `--ready`
2. `--checking`
3. `--offline`
4. `--banned`
5. `--pending`

   Corresponds to pending delegations

   See `Approve License` for more details on how to approve pending delegations
6. `--all`

If the user does not add parameters, all available parameters will be prompted

#### Approve License

```jsx
aethir license approve [License ID]
```

1. If the user does not add parameters, it will prompt: To approve, use `aethir license approve [License ID]`

   To approve all, use `aethir license approve --all`
2. If license ID does not correspond to one in the pending list, an error will be reported:

   Invalid license ID
3. If license ID is approved successfully, it will display:

   \[License ID] approved. You have xxx delegated licenses, xxx pending

#### Deny License

```jsx
aethir license deny [License ID]
```

1. If the user does not add parameters, it will prompt:

   To deny, use `aethir license deny [License ID]`
2. If license ID does not correspond to one in the pending list, an error will be reported:

   Invalid license ID
3. “Are you sure you want to deny delegation for \[License ID]?” is displayed to user

   Upon successful second confirmation by user, it will display:

   \[License ID] denied. You have xxx delegated licenses, xxx pending

Note that, unlike `approve`, there is no multiple selection here

This is used to `deny` pending delegations, rather than `undelegate` existing delegations

For more information, check out `Undelegate License` to `undelegate` license

#### Undelegate License

```jsx
aethir license undelegate [License ID]
```

1. If the user does not add parameters, it will prompt:

   To undelegate, use `aethir license undelegate [License ID]`
2. If license ID does not correspond to one in the pending list, an error will be reported:

   Invalid license ID
3. “Are you sure you want to deny delegation for \[License ID]?” is displayed to user

   Upon successful second confirmation by user, it will display:

   \[License ID] undelegated. You have xxx delegated licenses

#### Show Summary Table

```jsx
aethir license summary
```

This is a sample for what the summary table looks like:

| Number | Status          |
| ------ | --------------- |
| 123    | Running         |
| 123    | Offline         |
| 123    | Banned          |
| 123    | Pending         |
| 123    | Total Delegated |
