---
title: "ERPC CLI 명령"
description: "ERPC CLI의 모든 명령 그룹, 전역 옵션 --json과 --lang, 오류 형식과 종료 코드, erpc storage 및 erpc backup 명령을 정리합니다."
canonical: "https://erpc.global/ko/doc/erpc-cli/commands/"
locale: "ko"
---

# ERPC CLI 명령

ERPC CLI의 모든 명령 그룹을 한 표에 모으고, 모든 명령에서 동작하는 옵션과 스크립트가 신뢰할 수 있는 종료 코드를 정리합니다.

이 페이지는 프리릴리스인 ERPC CLI `v0.1.0-rc.4`를 설명합니다.

## 명령 그룹

`erpc validator`나 `erpc worker`처럼 명령 그룹을 하위 명령 없이 실행하면 그 그룹의 하위 명령이 나열됩니다.

| 명령 | 하는 일 |
| --- | --- |
| `validator` (`v`), `rpc` (`r`), `node` (`n`) | [validator와 RPC 노드](https://erpc.global/ko/doc/erpc-cli/nodes/) |
| `rpc call` | 공유, 사용자 지정 또는 x402 엔드포인트에 JSON-RPC 요청 하나를 보냅니다([RPC 호출 및 웹훅](https://erpc.global/ko/doc/erpc-cli/rpc-call-and-webhooks/)) |
| `webhook` | 로컬 RPC 구독을 관리하고 이벤트를 HTTP 콜백으로 전달합니다 |
| `ai`, `resume`, `memory`, `skills` | [ERPC AI](https://erpc.global/ko/doc/erpc-cli/ai/)와 저장된 대화, 기억, 스킬 |
| `worker` (`w`) | 서버에서 실행하는 [자체 앱](https://erpc.global/ko/doc/erpc-cli/worker-quickstart/) |
| `storage` (`st`), `backup` | ERPC Global Storage와 머신 백업([아래](https://erpc.global/ko/doc/erpc-cli/commands/#스토리지와-백업)) |
| `wallet` | EURC로 ERPC Credit을 구매하는 Base 지갑([지갑에서 결제](https://erpc.global/ko/doc/erpc-cli/ai/#지갑에서-결제)) |
| `signup`, `login`, `logout`, `whoami` | 사용자의 ERPC 계정([로그인 및 키](https://erpc.global/ko/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 Credit으로 결제하는 ERPC Global Storage 요금제를 구매합니다. 요금제와 가격은 [요금제](https://erpc.global/ko/price/)에 나와 있습니다.

### erpc storage

- `erpc storage put`은 `--no-encrypt`를 지정하지 않는 한, 파일의 어느 부분도 전송하기 전에 이 머신에서 파일을 암호화합니다. ERPC는 암호화된 바이트만 저장하며 키를 절대 보관하지 않습니다. `erpc storage get`은 암호화된 파일을 감지하고 복호화합니다.
- 스토리지 키는 계정당 하나이며, `erpc login`이 선택한 저장소에 보관됩니다. erpc는 재부팅하면 사라지는 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`은 restic으로 머신을 ERPC Global Storage에 백업합니다. 파일은 머신을 떠나기 전에 사용자의 머신에서 암호화되며, ERPC는 백업을 여는 비밀번호를 절대 보관하지 않습니다.

| 명령 | 하는 일 |
| --- | --- |
| `erpc backup init` | restic을 설치하고, 액세스 키와 리포지토리를 만들고, 이 머신에 전용 restic 키를 부여합니다 |
| `erpc backup run [paths]` | 백업합니다. Linux에서 경로를 지정하지 않으면 의사 파일 시스템, 마운트, 휘발성 경로를 제외한 `/`를 백업합니다. 다른 OS에서는 경로를 지정하세요 |
| `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]` | 타이머로 `--at`(기본값 03:00)에 `run`을 실행합니다 |
| `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을 설치하며, 아카이브와 프로그램을 모두 erpc에 컴파일되어 들어 있는 SHA-256 다이제스트와 대조합니다.
- **예약 실행:** Linux에서는 `sudo erpc backup init`을 실행한 뒤 `sudo erpc backup schedule daily`를 실행합니다. macOS에서는 `erpc backup schedule daily ~/Documents`를 실행하며, 작업은 사용자가 로그인해 있는 동안 사용자 권한으로 실행됩니다.
- 백업은 계정의 기본 리전에 저장됩니다. `erpc backup`은 백업 대상 머신에서 실행합니다. worker의 서버는 대신 `erpc worker backup on`으로 설정합니다([앱의 상태 데이터 백업](https://erpc.global/ko/doc/erpc-cli/worker-status-and-billing/#앱의-상태-데이터-백업)).
