登入 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(native)您建立的身分金鑰與同步金鑰對。投票帳戶與提款權限只以公鑰的形式提供給 erpc同步金鑰對(已針對該主機加密),以及從 --activate-validator 起的身分金鑰。投票帳戶與提款金鑰絕不匯入
Solana validator(solv)已質押的身分金鑰,以及提款權限(除非您只提供其公鑰)。投票帳戶金鑰在帳戶驗證完成後即刪除一個以明文保存、用後即棄的 unstaked-identity.json。部署絕不會將已質押的金鑰或提款權限複製到節點上
Solana RPC(native)您建立的身分金鑰相同的身分金鑰,已針對該主機加密
Solana RPC(solv)清單身分金鑰,在主機上建立。絕不離開主機
Ethereum validator清單金鑰庫、其解鎖密碼與 slashing 歷史紀錄。備份中的歷史紀錄止於其快照,因此恢復在快照之後簽署過的金鑰可能遭到 slashing:請使用 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 或 agent 金鑰相同的金鑰,已針對該主機加密
NEAR validator共識金鑰相同的金鑰,已針對該主機加密
Arbitrum validatorinit 產生的錢包,以及供應商憑證供應商憑證(已加密),以及從 --activate-signer 起的錢包,歸 root 所有並已加密
Robinhood Chain validatorinit 產生的錢包,以及供應商設定供應商設定(已加密),以及從 --activate-signer 起的錢包,歸 root 所有並已加密
OP 系列 RPC清單與供應商的值供應商憑證、engine JWT 與對等節點身分,皆已加密。請備份擁有者紀錄與主機的加密 Secret
Nitro RPC清單與上游憑證上游憑證,已加密
其他 RPC 節點不持有 validator 的簽署金鑰,但其主機會保存用戶端自行建立的內容,例如 engine 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