# CLI. Импорт ключа, отправка токенов, делегирование

## Использование CLI

### 1. Для доступа к командам [Mina CLI](https://docs.minaprotocol.com/en/using-mina/cli-reference):

{% hint style="warning" %}
Этот шаг нужно выполнять только если вы запускали ноду с помощью Докера. Если же вы не использовали Докер, переходите сразу к шагу 2.
{% endhint %}

```
sudo docker exec -it mina bash
```

Выход из CLI осуществляется командой:

```
exit
```

### 2. Проверка статуса, состояния узла:

```
mina client status
```

Выглядит это вот так:

![](/files/-MGyL9tsid4-GynCoYdk)

Дождитесь пока нода синхронизируется. В поле `Sync status:` должно быть написано `Synced`. Если в статусе написано `Catched`, значит нужно подождать чуть больше.\
После этого можно приступать к импорту ваших ключей.

### 3. Импортируем ключи

&#x20;Экспортируем приватный ключ:

```
export KEYPATH=$HOME/keys/my-wallet
```

Импорт аккаунта с ключем производим следующей командой:

```
mina accounts import -privkey-path $KEYPATH
```

Список ваших аккаунтов можно посмотреть командой ниже:

```
mina accounts list
```

### 4. Разблокировка аккаунта:

Экспортируем Публичный ключ:

```
export MINA_PUBLIC_KEY=$(cat $HOME/keys/my-wallet.pub)
```

Разблокируем аккаунт, чтобы можно было перемещать токены:

```
mina accounts unlock -public-key $MINA_PUBLIC_KEY
```

В поле ввода пароля пишем ваш пароль от ключа и жмем ENTER.

### 5. Транзакции

Теперь можно отправлять токены.\
\
Вам нужно добавить:\
\- отправителя `-sender`\
\- получателя `-receiver`\
\- комиссию транзакции `-fee`\
\- количество отправляемых токенов `-amount`

```
mina client send-payment \
-sender B62qnJHBeVJqWamtDhWDPwrX7Y5jiXKcMKTuvug9LQ8ictwNTWN7YvJ \
-receiver B62qqV16g8s744GHM6Dph1uhW4fggYwyvtDnVSoRUyYqNvTir3Rqqzx \
-fee 0.01 \
-amount 2
```

#### 5.1. Транзакция с `-memo` (с подписью)

Вам нужно добавить:\
\- подпись`-memo`\
Ваш текст к транзакции.

```
mina client send-payment \
-sender B62qnJHBeVJqWamtDhWDPwrX7Y5jiXKcMKTuvug9LQ8ictwNTWN7YvJ \
-receiver B62qqV16g8s744GHM6Dph1uhW4fggYwyvtDnVSoRUyYqNvTir3Rqqzx \
-fee 0.01 \
-amount 2 \
-memo "Ваш текст"
```

Готово. Токены отправлены.

### 6. Проверим баланс токенов

Баланс токенов проверяем командой ниже с вашим ID токенов:

```
mina client get-balance \
-public-key $MINA_PUBLIC_KEY
```

Мы увидим баланс mina токенов.

### 7. Транзакция делегирования

Вам нужно добавить:\
\- отправителя `-sender`\
\- получателя `-receiver`\
\- комиссию транзакции `-fee`

Флаг `-amount` не указывается, т.к. делегируется весь баланс адреса.

```
mina client delegate-stake \
-sender B62qnJHBeVJqWamtDhWDPwrX7Y5jiXKcMKTuvug9LQ8ictwNTWN7YvJ \
-receiver B62qqV16g8s744GHM6Dph1uhW4fggYwyvtDnVSoRUyYqNvTir3Rqqzx \
-fee 0.01
```

## Другие команды (В ДАННЫЙ МОМЕНТ НЕ ИСПОЛЬЗУЮТСЯ)

{% hint style="warning" %}
Внимание!\
Следующие пункты с 1 по 4 в данный момент не используются.&#x20;
{% endhint %}

### 1. Создание токенов

Теперь создадим токены:

```
mina client create-token \
-sender $MINA_PUBLIC_KEY
```

В ответ мы получим следующее:

{% code title="#ПРИМЕР ОТВЕТА " %}

```
Dispatched create new token command with ID 2cUDm3QoJ14znWj5LxN8hjwwuvtwi9FGXcy56i4dPvYizPNwr3V9c9ePYxy3pJKjgogNx28jwHhqupi6wHFgXBmU5iX27iK1zUvJarj6wJsUG8segWXc4LGPed66YbYk3u9HiWw4v8cYYEqcy1mU6hqfj5JPMPthEBifxUMHZTqCwZmYWSdiERxB6PtPEdXVraWaYPVU4Q8vtpSN7oSTK1AXyXLYYR835CBrNSmgbLvoBDNroCKwcQrzw4b76BFNLe6EuWvBcMgX6npeeAbPg8z8iJ4PKz3gA64o1Y72kCrqyqus718LwXcmp5jxsYvJB2CJHzyZ
```

{% endcode %}

### 2. Получим ID токенов

Чтобы проводить следующие операции нам нужно знать ID токенов. Получим его следующей командой:

```
mina client get-tokens \
-public-key $MINA_PUBLIC_KEY
```

В ответ мы получим следующее:

{% code title="#ПРИМЕР ОТВЕТА" %}

```
Accounts are held for token IDs:
1
```

{% endcode %}

### 3. Минт токенов

Чтобы сминтить новые токены нужно выполнить команду `mint-tokens`. Будут созданы 1,000 токенов в учетной записи отправителя транзакции под номером token ID 2.

```
mina client mint-tokens \
-sender $MINA_PUBLIC_KEY \
-token 2 \
-amount 10
```

Проверим баланс командой (баланс появится не сразу, нужно подождать около 5 минут):

```
mina client get-balance \
-token 2 \
-public-key $MINA_PUBLIC_KEY
```

Через некоторое время мы должны увидеть на балансе 1,000 mina токенов.

{% code title="#ПРИМЕР ОТВЕТА" %}

```
mina client get-balance \
-token 2 \
-public-key $MINA_PUBLIC_KEY
Balance: 1000 tokens
```

{% endcode %}

### 4. Отправка токенов

Теперь можно отправить токены.\
Чтобы это сделать нам сначала нужно добавить получателя командой ниже:

```
mina client create-token-account \
-sender $MINA_PUBLIC_KEY \
-receiver B62qoDWfBZUxKpaoQCoFqr12wkaY84FrhxXNXzgBkMUi2Tz4K8kBDiv \
-token 2
```

Например отправим 50 токенов. \
В поле `-memo "My First TX"` вместо `My First TX` можно вписать что угодно. Либо оставить так, как есть.

```
mina client send-payment \
-sender $MINA_PUBLIC_KEY \
-receiver B62qoDWfBZUxKpaoQCoFqr12wkaY84FrhxXNXzgBkMUi2Tz4K8kBDiv \
-token 2 \
-fee 0.1 \
-amount 50
```

Готово. Токены отправлены.


---

# 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://minanode.staketab.com/russian/cli.-sozdanie-klyuchei-import-otpravka-tokenov.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.
