---
title: "Команды ERPC CLI"
description: "Все группы команд ERPC CLI, глобальные опции --json и --lang, формат ошибок и коды завершения, а также команды erpc storage и erpc backup."
canonical: "https://erpc.global/ru/doc/erpc-cli/commands/"
locale: "ru"
---

# Команды ERPC CLI

Все группы команд ERPC CLI в одной таблице, опции, которые работают с любой командой, и коды завершения, на которые может полагаться скрипт.

Эта страница описывает ERPC CLI `v0.1.0-rc.4` — пререлиз.

## Группы команд

Запустите любую группу команд без подкоманды, например `erpc validator` или `erpc worker`, чтобы вывести список её подкоманд.

| Команда | Что делает |
| --- | --- |
| `validator` (`v`), `rpc` (`r`), `node` (`n`) | [Валидаторы и RPC-ноды](https://erpc.global/ru/doc/erpc-cli/nodes/) |
| `rpc call` | Отправляет один JSON-RPC-запрос на общий, собственный или x402 endpoint ([Вызовы RPC и вебхуки](https://erpc.global/ru/doc/erpc-cli/rpc-call-and-webhooks/)) |
| `webhook` | Управляет локальными подписками RPC и доставляет события на HTTP-адрес обратного вызова |
| `ai`, `resume`, `memory`, `skills` | [ERPC AI](https://erpc.global/ru/doc/erpc-cli/ai/), его сохранённые диалоги, запомненные факты и навыки |
| `worker` (`w`) | [Ваши собственные приложения](https://erpc.global/ru/doc/erpc-cli/worker-quickstart/) на сервере |
| `storage` (`st`), `backup` | ERPC Global Storage и резервные копии машин ([ниже](https://erpc.global/ru/doc/erpc-cli/commands/#хранилище-и-резервные-копии)) |
| `wallet` | Кошелёк в сети Base, через который покупается ERPC Credit за EURC ([Оплата из кошелька](https://erpc.global/ru/doc/erpc-cli/ai/#оплата-из-кошелька)) |
| `signup`, `login`, `logout`, `whoami` | Ваш аккаунт ERPC ([Вход и ключи](https://erpc.global/ru/doc/erpc-cli/sign-in-and-keys/)) |
| `doctor` | Сообщает, как эта машина хранит вашу сессию |
| `config` | Читает и изменяет `~/.erpc/config.toml` (только публичные настройки). `erpc config init` записывает стартовый файл с комментариями, если такого файла ещё нет |
| `version` | Версия, сборка и сведения о компонентах |
| `completions` | Генерирует автодополнение для оболочки: `erpc completions zsh`, а также bash, fish, powershell и elvish |

## Глобальные опции

- **`--json`** включает машиночитаемый вывод: `erpc --json <command>`. `ERPC_JSON=true` действует так же. В командах нод `--json` нужно указывать перед командой.
- **`--lang`** задаёт язык, на котором говорит erpc: `en`, `ja`, `zh` или `ru`. Без этой опции erpc использует настройку `locale`, а если её нет — язык системы.

## Ошибки и коды завершения

Сбой везде выглядит одинаково: строка `error:` о том, что пошло не так, и строка `hint:` о том, что делать дальше, если такая подсказка есть. С `--json` сбой — это один объект в стандартном выводе: `{"error": {"code", "exit", "message", "hint"}}`. В двух случаях вместо этого выводится собственное сообщение clap, а команда завершается с кодом 2: командная строка, которую clap не может разобрать в терминале, и аргумент, который не принимает подкоманда дерева нод (`erpc validator`, `rpc`, `node`), даже при `--json`. Поле `details` появляется, только когда команде есть что ещё сообщить скрипту о том, что она успела сделать до сбоя, и никогда — в терминале.

| Код завершения | Код | Значение |
| --- | --- | --- |
| 0 | | Всё получилось |
| 1 | `failed` | Не удалось сделать то, что было запрошено |
| 2 | `usage` | Командную строку невозможно использовать |
| 3 | `needs_terminal` | Нужен ответ человека: передайте `--yes` или запустите команду в терминале |
| 4 | `not_signed_in` | Выполните `erpc login` |
| 5 | `problems_found` | Проверка (`status`, `doctor`) нашла проблемы, и в её отчёте сказано, какие |
| 6 | `declined` | Вы ответили «нет», и ничего не изменилось |
| 7 | `network` | Не удалось связаться с ERPC или другим сервисом |

При остановке через Ctrl-C (или SIGTERM, SIGHUP) erpc завершается самим этим сигналом, поэтому цикл в скрипте тоже останавливается. Опубликованный код сохраняет своё имя и свой код завершения, и никакой код никогда не используется повторно.

## Хранилище и резервные копии

```bash
erpc storage buy 5        # an ERPC Global Storage plan
erpc backup init          # back this machine up with restic, on a schedule if you like
```

`erpc storage buy` покупает тариф ERPC Global Storage с оплатой из ERPC Credit. Тарифы и цены — на странице [Цены](https://erpc.global/ru/price/).

### erpc storage

- `erpc storage put` шифрует файл на этой машине до того, как будет отправлена хоть какая-то его часть, если не указан `--no-encrypt`. ERPC хранит только зашифрованные байты, и ключа у ERPC никогда нет. `erpc storage get` распознаёт зашифрованный файл и расшифровывает его.
- На каждый аккаунт приходится один ключ хранилища, и он находится в месте хранения, которое выбрал `erpc login`. erpc не держит его в keyring ядра Linux, который теряется при перезагрузке: войдите с `--store 1password` или `--store file` либо используйте `--no-encrypt`. Если используется место хранения `file`, ключ лежит в `~/.erpc/storage-key` (режим 0600) незашифрованным. `--no-encrypt` загружает отправляемый файл как есть, без шифрования.
- **Потеря ключа хранилища означает потерю всех файлов, зашифрованных им**, и ERPC не может его восстановить. `erpc storage key export --show` выводит ключ, чтобы его копию можно было хранить вне машины, а `erpc storage key import` импортирует его на другой машине.
- Путь, под которым хранится файл, и его размер видны ERPC.
- `erpc storage keys list` показывает ключи доступа к хранилищу, а `erpc storage keys revoke <n>` отзывает один из них.

### erpc backup

`erpc backup` создаёт резервную копию машины в ERPC Global Storage с помощью restic. Файлы шифруются на вашей машине до того, как покинут её, и у ERPC никогда нет пароля, открывающего резервные копии.

| Команда | Что делает |
| --- | --- |
| `erpc backup init` | Устанавливает restic, создаёт ключи доступа и репозиторий и выдаёт этой машине собственный ключ restic |
| `erpc backup run [paths]` | Создаёт резервную копию. В Linux без путей — `/` за вычетом псевдофайловых систем, точек монтирования и изменчивых путей. В других системах укажите пути |
| `erpc backup snapshots` | Снимки этой машины; `--all-hosts` — снимки всех машин |
| `erpc backup restore <id\|latest>` | Восстанавливает в новый каталог, если `--target` не указывает другой. `--in-place` перезаписывает эту машину, предварительно спросив |
| `erpc backup check` | Проверяет репозиторий и считывает обратно 5% данных |
| `erpc backup prune` | Оставляет 7 ежедневных, 4 еженедельных и 6 ежемесячных снимков одной машины, предварительно спросив |
| `erpc backup schedule daily\|weekly\|off [paths]` | Запускает `run` по таймеру в момент, заданный `--at` (по умолчанию 03:00) |
| `erpc backup status` | Расписание и то, чем закончился последний запуск |
| `erpc backup password --show` | Выводит мастер-пароль репозитория, чтобы сохранить его копию в другом месте |

- **Каждая машина получает ключ только для добавления**, который не может удалить её собственные резервные копии. Машина, на которой вы выполнили `erpc backup init`, также хранит ключи, которые это могут, поэтому защита действует только на машине, где нет ни сессии erpc, ни секретов резервного копирования аккаунта.
- **Храните копию вывода `erpc backup password --show` вдали от машин.** Потеря мастер-пароля и `backup.env` каждой машины означает потерю резервных копий.
- **Резервная копия не включает известные файлы ключей и системные секреты**, например `.ssh/id_*`, `.config/solana/id.json`, сессию erpc и ключи хоста SSH. Ключевой материал под другим именем или в другом месте копируется как любой другой файл: исключите его с помощью `--exclude`.
- erpc устанавливает restic 0.19.1 и проверяет и архив, и программу по дайджестам SHA-256, встроенным в erpc при сборке.
- **Расписание:** в Linux — `sudo erpc backup init`, затем `sudo erpc backup schedule daily`. В macOS — `erpc backup schedule daily ~/Documents`; задание выполняется от вашего имени, пока вы вошли в систему.
- Резервные копии отправляются в регион аккаунта по умолчанию. `erpc backup` работает на той машине, резервную копию которой создаёт; сервер воркера вместо этого настраивается через `erpc worker backup on` ([Резервное копирование состояния приложения](https://erpc.global/ru/doc/erpc-cli/worker-status-and-billing/#резервное-копирование-состояния-приложения)).
