Comandos do ERPC CLI

Todos os grupos de comandos do ERPC CLI em uma tabela, as opções que funcionam em todos os comandos e os códigos de saída com que um script pode contar.
Esta página descreve o ERPC CLI v0.1.0-rc.4, uma versão de pré-lançamento.

Grupos de comandos

Execute qualquer grupo de comandos sem verbo, como erpc validator ou erpc worker, para listar os seus verbos.
ComandoO que faz
validator (v), rpc (r), node (n)Validadores e nós RPC
rpc callEnvia uma requisição JSON-RPC a um endpoint compartilhado, personalizado ou x402 (Chamadas RPC e webhooks)
webhookGerencia assinaturas RPC locais e entrega eventos a um callback HTTP
ai, resume, memory, skillsERPC AI, suas conversas salvas, lembranças e skills
worker (w)Suas próprias aplicações em um servidor
storage (st), backupERPC Global Storage e backups de máquinas (abaixo)
walletA wallet na Base que compra ERPC Credit com EURC (Pagar a partir de uma wallet)
signup, login, logout, whoamiA sua conta ERPC (Login e chaves)
doctorInforma como esta máquina armazena a sua sessão
configLê e altera ~/.erpc/config.toml (apenas configurações públicas). erpc config init grava um arquivo inicial comentado, a menos que já exista um
versionVersão, build e informações dos componentes
completionsGera o autocompletar do shell: erpc completions zsh, e também bash, fish, powershell e elvish

Opções globais

  • --json gera uma saída legível por máquina: erpc --json <command>. ERPC_JSON=true tem o mesmo efeito. Nos comandos de nó, --json tem de vir antes do comando.
  • --lang define o idioma em que o erpc fala: en, ja, zh ou ru. Sem ele, o erpc usa a configuração locale e, na falta dela, o idioma do sistema.

Erros e códigos de saída

Uma falha tem a mesma forma em todos os lugares: uma linha error: que diz o que deu errado e, quando houver, uma linha hint: que diz o que fazer em seguida. Com --json, uma falha é um único objeto na saída padrão, {"error": {"code", "exit", "message", "hint"}}. Dois casos, em vez disso, imprimem a mensagem do próprio clap e saem com status 2: uma linha de comando que o clap não consegue interpretar em um terminal, e um argumento que o verbo de uma árvore de nós (erpc validator, rpc, node) não aceita, mesmo com --json. Um campo details só aparece quando um comando tem mais a dizer a um script sobre o que fez antes de falhar, e nunca em um terminal.
SaídaCódigoSignificado
0Funcionou
1failedNão foi possível fazer o que foi pedido
2usageA linha de comando não era utilizável
3needs_terminalUma pessoa precisa responder: passe --yes ou execute em um terminal
4not_signed_inExecute erpc login
5problems_foundUma verificação (status, doctor) encontrou problemas, e o relatório dela diz quais
6declinedVocê disse não, e nada foi alterado
7networkNão foi possível acessar a ERPC ou outro serviço
Quando é interrompido por Ctrl-C (ou SIGTERM, SIGHUP), o erpc termina pelo próprio sinal, então um loop em um script também para. Um código publicado mantém o seu nome e o seu status de saída, e um código nunca é reutilizado.

Armazenamento e backups

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
O erpc storage buy compra um plano do ERPC Global Storage, pago com ERPC Credit. Os planos e os preços estão em Preços.

erpc storage

  • O erpc storage put criptografa um arquivo nesta máquina antes que qualquer parte dele seja enviada, a menos que --no-encrypt seja informado. A ERPC armazena apenas os bytes criptografados e nunca guarda a chave. O erpc storage get detecta um arquivo criptografado e o descriptografa.
  • Há uma chave de armazenamento por conta, guardada no local de armazenamento que o erpc login escolheu. O erpc não a guarda no keyring do kernel Linux, que se perde ao reiniciar: faça login com --store 1password ou --store file, ou use --no-encrypt. Com o local file, a chave fica em ~/.erpc/storage-key (modo 0600), sem criptografia. O --no-encrypt faz o upload do arquivo que você está enviando do jeito que está, sem criptografia.
  • Perder a chave de armazenamento significa perder todos os arquivos criptografados com ela, e a ERPC não consegue recuperá-la. erpc storage key export --show imprime a chave para que uma cópia possa ser guardada longe da máquina, e erpc storage key import a recebe de volta em outra máquina.
  • O caminho em que um arquivo é armazenado, e o seu tamanho, ficam visíveis para a ERPC.
  • erpc storage keys list mostra as chaves de acesso ao armazenamento, e erpc storage keys revoke <n> revoga uma delas.

erpc backup

O erpc backup faz backup de uma máquina no ERPC Global Storage com o restic. Os arquivos são criptografados na sua máquina antes de saírem dela, e a ERPC nunca guarda uma senha que abra os backups.
ComandoO que faz
erpc backup initInstala o restic, cria as chaves de acesso e o repositório e dá a esta máquina a sua própria chave do restic
erpc backup run [paths]Faz o backup. No Linux, sem caminhos, / menos os pseudo-sistemas de arquivos, os pontos de montagem e os caminhos voláteis. Nos outros sistemas, informe os caminhos
erpc backup snapshotsOs snapshots desta máquina; --all-hosts para os de todas as máquinas
erpc backup restore <id|latest>Restaura em um novo diretório, a menos que --target indique outro. --in-place grava por cima desta máquina, depois de perguntar
erpc backup checkVerifica o repositório e lê de volta 5% dos dados
erpc backup pruneMantém 7 snapshots diários, 4 semanais e 6 mensais de uma máquina, depois de perguntar
erpc backup schedule daily|weekly|off [paths]Executa run com um temporizador, no horário de --at (padrão 03:00)
erpc backup statusO agendamento e como terminou a última execução
erpc backup password --showImprime a senha mestra do repositório, para guardar uma cópia em outro lugar
  • Cada máquina recebe uma chave append-only, que não pode excluir os seus próprios backups. A máquina em que você executou erpc backup init também guarda as chaves que podem excluí-los, então a proteção só vale em uma máquina que não guarde nem a sessão do erpc nem os segredos de backup da conta.
  • Guarde uma cópia de erpc backup password --show longe das máquinas. Perder a senha mestra e o backup.env de todas as máquinas significa perder os backups.
  • Um backup deixa de fora arquivos de chave conhecidos e segredos do sistema, como .ssh/id_*, .config/solana/id.json, a sessão do erpc e as chaves de host SSH. Material de chave com outro nome ou em outro lugar entra no backup como qualquer outro arquivo: deixe-o de fora com --exclude.
  • O erpc instala o restic 0.19.1 e verifica tanto o arquivo compactado quanto o programa com digests SHA-256 compilados no erpc.
  • Agendamento: no Linux, sudo erpc backup init e depois sudo erpc backup schedule daily. No macOS, erpc backup schedule daily ~/Documents; a tarefa roda como você, enquanto você estiver com a sessão iniciada.
  • Os backups vão para a região padrão da conta. O erpc backup roda na máquina da qual faz backup; o servidor de um worker é configurado com erpc worker backup on, em vez disso (Fazer backup do estado da aplicação).