登录 ERPC CLI 并查看密钥的保存位置

让本机登录后,ERPC CLI 会将会话保存在您的钥匙串或 1Password 中。本页还介绍节点密钥保存在哪里,以及 erpc 保留哪些文件。
本页介绍 ERPC CLI v0.1.0-rc.4,这是一个预发布版本。

登录

bash
erpc signup     # opens the sign-up page
erpc login      # signs this machine in; the session goes to the keychain or 1Password
erpc whoami
erpc login 通过 OAuth 设备授权许可获取会话。在没有浏览器的机器上,erpc login --no-browser 会打印 URL 和代码,而不是打开浏览器;erpc signup --no-browser 会打印注册 URL。erpc whoami 显示已保存的会话属于谁,erpc logout 会退出登录并删除已保存的会话。

选择会话的保存位置

在终端中,erpc login 会询问使用哪个保存位置:操作系统的钥匙串(默认),或 1Password(在其有响应时)。--store 和 --vault 可不经询问直接选择,所选结果会记录在 config.toml 中,其他命令会从那里读取。
--store会话的保存位置
keychain操作系统的钥匙串
1password-desktop(也可写作 1password、op)1Password,通过桌面应用程序
1password-service-account1Password,通过服务账户令牌
file磁盘上的文件。这会在本机留下一个 Secret
如果既没有指定也没有记录选择,erpc 会在设置了 OP_SERVICE_ACCOUNT_TOKEN 时使用 1Password 服务账户,否则在有操作系统钥匙串时使用钥匙串,再否则使用其状态目录中的文件。erpc doctor 会报告正在使用哪个保存位置及其原因。使用服务账户时,erpc 只将 OP_SERVICE_ACCOUNT_TOKEN 传给它自己启动的 op 进程,不会将该令牌写入任何地方。
1Password 条目以机器名命名,因此两台机器绝不会共用同一个会话。ERPC_HOST_LABEL 可覆盖该名称。

在 Linux 上

在有 Secret Service 响应的环境中,钥匙串就是 Secret Service。否则它是内核为您的用户提供的持久密钥环,位于内存中,从不写入磁盘:会话一直有效,直到重启或连续几天未使用,之后会再次要求运行 erpc login。没有经过自身登录而启动的 shell(不带 - 的 su、sudo -E)无法使用该密钥环,erpc 会拒绝,并说明这一点。

在 macOS 上

erpc 通过 /usr/bin/security 访问钥匙串。以您的身份运行的任何其他程序,同样可以通过运行 security 读取会话;不过钥匙串仍会在静态存储时加密会话,并使其不被其他用户访问。

会话位于磁盘上时

erpc 会在三种情况下将会话写入其状态目录:使用 file 保存位置时;对于暂存的会话(无法到达保存位置的已轮换刷新令牌);以及写入被中断之后。只要这类文件存在,erpc doctor 就会逐一报告。在 Unix 上,这些文件以 0600 权限模式创建;在 Windows 上,erpc 不设置自己的权限。

节点密钥的保存位置

节点清单,以及各链指南中指明的原始密钥备份,都保存在 1Password 中。并非所有密钥都在 1Password 中,节点可能持有其运行所需的密钥。请自行备份主机上的内容:在没有备份的情况下重装该主机,会丢失这些内容。此外,活跃的 Sui validator 或已当选的 TRON witness 会拒绝迁移到新主机。
节点在 1Password 中在主机上
Solana validator(原生)您创建的身份密钥和同步密钥对。投票账户和提款权限仅以公钥形式提供给 erpc同步密钥对,针对该主机加密;从 --activate-validator 起,身份密钥也在主机上。投票账户和提款密钥从不导入
Solana validator(solv)已质押的身份密钥,以及提款权限(除非您只提供其公钥)。投票账户密钥在账户验证后即被删除一个明文的临时 unstaked-identity.json。部署从不将已质押的密钥或提款权限复制到节点
Solana RPC(原生)您创建的身份密钥同一身份密钥,针对该主机加密
Solana RPC(solv)清单身份密钥,在主机上创建。它从不离开主机
Ethereum validator清单密钥库、其解锁密码和罚没历史。备份中的历史止于其快照,因此恢复一个在快照之后签过名的密钥可能会被罚没:请使用 erpc v --chain eth migrate 迁移签名者
Arc RPC共识密钥共识密钥,已加密
Avalanche质押密钥和 BLS 密钥的备份同样的密钥,在首次部署时于主机上创建
Sui validator协议密钥、网络密钥和 worker 密钥,在您自己的机器上创建同样的三个密钥,使用 systemd-creds 针对该主机加密。从不包含账户密钥
Sui 全节点清单网络凭据,针对该主机加密。没有其他副本
TRON witness加密的密钥库及其密码同样的内容,以加密的 systemd 凭据形式保存
Polygon validatorinit 生成的签名者密钥。从不要求提供质押所有者的密钥同一密钥,针对该主机加密。在节点仅观察期间,它以单独的身份运行
BNB Chain validator签名材料和对等节点身份的备份共识密钥位于加密的密钥库中,投票密钥位于加密的钱包中,它们的密码针对该主机加密
Kaia validator(共识节点或代理节点)节点身份的备份节点身份,在主机上创建并针对该主机加密。运营者的钱包留在 erpc 之外
Monad 节点(RPC 或 validator)两个原始密钥库同样的密钥库,针对该主机加密
Hyperliquid validator热共识密钥。从不要求提供冷账户的密钥热密钥,针对该主机加密,且只由已激活的 validator 单元加载
Hyperliquid AQA publisher其专用的 API key 或 agent 密钥同一密钥,针对该主机加密
NEAR validator共识密钥同一密钥,针对该主机加密
Arbitrum validatorinit 生成的钱包,以及提供方凭据提供方凭据,已加密;从 --activate-signer 起,钱包也在主机上,归 root 所有并已加密
Robinhood Chain validatorinit 生成的钱包,以及提供方配置提供方配置,已加密;从 --activate-signer 起,钱包也在主机上,归 root 所有并已加密
OP 系列 RPC清单和提供方的值提供方凭据、引擎 JWT 和对等节点身份,已加密。请备份所有者记录和主机的加密 Secret
Nitro RPC清单和上游凭据上游凭据,已加密
其他 RPC 节点不持有 validator 的签名密钥,但它们的主机会保存客户端为自身生成的内容,例如引擎 JWT、对等节点身份或 RPC cookie。
仅有密钥备份并不能确保 validator 恢复的安全。在更换服务器或恢复其数据之前,请遵循该链的恢复流程;各链的指南说明了如何恢复其密钥(节点)。
只有一个命令会将节点密钥写入您本机的磁盘:erpc validator vote-account 在 Solana CLI 运行期间,将身份密钥和投票密钥写入状态目录下权限为 0600 的文件中,并在之后将其擦除。如果进程意外终止,文件可能会一直留存,直到之后的某次运行将其清理。
erpc worker 应用的交易密钥和 Secret 与这些密钥分开保存:密钥与 Secret。

erpc 保留的文件

路径内容
~/.erpc/config.toml公开设置(erpc config)
~/.erpc/state/会话和锁(erpc doctor 会说明会话的保存方式)
~/.erpc/conversations/已保存的 ERPC AI 对话
~/.erpc/memory.jsonERPC AI 记住的内容
~/.erpc/vps_hosts.jsonERPC AI 登录过的 VPS 的主机密钥
~/.erpc/skills/由 erpc skills install 写入的技能
~/.erpc/storage-key存储加密密钥,在 erpc login 将会话保存在文件中时
~/.erpc/backup-password, ~/.erpc/backup-admin-key备份主密码和 read_write 密钥,在 erpc login 将会话保存在文件中时
~/.erpc/keystore/worker 密钥库:在既没有 1Password 也没有可持久保存的钥匙串的机器上,应用的 Secret 和交易密钥,各自保存在一个以您的密码短语加密的文件中
~/.erpc/workers.toml本机上的 erpc worker 应用列表
~/.erpc/backup.env本机的备份凭据(0600)
~/.erpc/bin/restic-0.19.1erpc backup 安装的固定版本 restic