---
title: "Đăng nhập vào ERPC CLI và xem các khóa của bạn được lưu ở đâu"
description: "Đăng nhập máy này vào tài khoản ERPC, chọn nơi ERPC CLI lưu phiên, và xem nơi lưu khóa node cùng các tệp mà erpc ghi ra."
canonical: "https://erpc.global/vi/doc/erpc-cli/sign-in-and-keys/"
locale: "vi"
---

# Đăng nhập vào ERPC CLI và xem các khóa của bạn được lưu ở đâu

Hãy đăng nhập trên máy này, và ERPC CLI sẽ giữ phiên trong chuỗi khóa của bạn hoặc 1Password. Trang này cũng cho biết khóa node được lưu ở đâu và erpc giữ những tệp nào.

Trang này mô tả ERPC CLI `v0.1.0-rc.4`, một bản pre-release.

## Đăng nhập

```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` lấy phiên thông qua OAuth device authorization grant. Trên máy không có trình duyệt, `erpc login --no-browser` in ra URL và mã thay vì mở trình duyệt, và `erpc signup --no-browser` in ra URL đăng ký. `erpc whoami` cho biết phiên đã lưu thuộc về ai, và `erpc logout` đăng xuất và xóa phiên đã lưu.

## Chọn nơi lưu phiên

Khi chạy trong terminal, `erpc login` hỏi dùng nơi lưu nào: chuỗi khóa của hệ điều hành, vốn là lựa chọn mặc định, hoặc 1Password khi nó phản hồi. `--store` và `--vault` chọn mà không hỏi, và lựa chọn được ghi vào `config.toml`, nơi các lệnh khác đọc nó.

| `--store` | Nơi lưu phiên |
| --- | --- |
| `keychain` | Chuỗi khóa của hệ điều hành |
| `1password-desktop` (hoặc `1password`, `op`) | 1Password, thông qua ứng dụng desktop |
| `1password-service-account` | 1Password, thông qua token của tài khoản dịch vụ |
| `file` | Một tệp trên ổ đĩa. Cách này để lại một secret trên máy này |

Khi không có lựa chọn nào, dù được chỉ định hay đã ghi lại, erpc dùng tài khoản dịch vụ 1Password khi `OP_SERVICE_ACCOUNT_TOKEN` được đặt, nếu không thì dùng chuỗi khóa của hệ điều hành khi có, nếu không nữa thì dùng một tệp trong thư mục trạng thái của nó. `erpc doctor` cho biết nơi lưu nào đang được dùng và lý do. Với tài khoản dịch vụ, erpc chỉ truyền `OP_SERVICE_ACCOUNT_TOKEN` cho các tiến trình `op` mà nó khởi chạy, và không ghi token đó vào bất cứ đâu.

Mục 1Password được đặt tiêu đề theo tên của máy, để hai máy không bao giờ dùng chung một phiên. `ERPC_HOST_LABEL` ghi đè tên này.

### Trên Linux

Chuỗi khóa là Secret Service ở nơi có Secret Service phản hồi. Nếu không, đó là keyring bền vững của kernel dành cho người dùng của bạn, nằm trong bộ nhớ và không bao giờ nằm trên ổ đĩa: phiên tồn tại cho đến lần khởi động lại hoặc đến khi không được dùng trong vài ngày, sau đó `erpc login` sẽ được yêu cầu lại. Một shell được khởi động mà không có phiên đăng nhập riêng (`su` không có `-`, `sudo -E`) không thể dùng keyring đó, và erpc sẽ từ chối và báo rõ điều này.

### Trên macOS

erpc truy cập chuỗi khóa qua `/usr/bin/security`. Bất kỳ chương trình nào khác chạy dưới tài khoản của bạn cũng có thể đọc phiên bằng cách chạy `security`, trong khi chuỗi khóa vẫn giữ phiên ở dạng mã hóa khi lưu trữ và tách biệt khỏi những người dùng khác.

### Khi phiên nằm trên ổ đĩa

erpc ghi phiên vào thư mục trạng thái của nó trong ba trường hợp: với nơi lưu `file`, với một phiên được giữ tạm (một refresh token đã được xoay vòng nhưng không đến được nơi lưu), và sau một lần ghi bị gián đoạn. `erpc doctor` báo cáo từng tệp như vậy chừng nào tệp đó còn tồn tại. Trên Unix, các tệp này được tạo với mode `0600`; trên Windows, erpc không tự đặt quyền nào.

## Nơi lưu khóa node

Danh mục node, và các bản sao lưu khóa gốc mà hướng dẫn của từng chain nêu tên, được lưu trong 1Password. Không phải khóa nào cũng nằm trong 1Password, và một node có thể giữ khóa mà nó cần để chạy. Hãy tự sao lưu những gì nằm trên host: dựng lại host đó mà không có bản sao lưu sẽ làm mất chúng. Một Sui validator đang hoạt động hoặc một TRON witness đã được bầu cũng từ chối chuyển sang host mới.

| Node | Trong 1Password | Trên host |
| --- | --- | --- |
| Solana validator (native) | Identity và sync keypair mà bạn đã tạo. Vote account và withdraw authority chỉ được cung cấp cho erpc dưới dạng khóa công khai | Sync keypair, được mã hóa cho host đó, và kể từ khi dùng `--activate-validator` thì có cả identity. Các khóa vote account và withdrawal không bao giờ được nhập vào |
| Solana validator (solv) | Identity đã stake, và withdraw authority trừ khi bạn chỉ cung cấp khóa công khai của nó. Khóa vote account bị xóa ngay khi tài khoản đó được xác minh | Một `unstaked-identity.json` dùng một lần ở dạng văn bản thuần. Một lần triển khai không bao giờ sao chép khóa đã stake hoặc withdraw authority lên node |
| Solana RPC (native) | Identity mà bạn đã tạo | Cùng identity đó, được mã hóa cho host đó |
| Solana RPC (solv) | Danh mục | Identity, được tạo ngay tại đó. Nó không bao giờ rời khỏi đó |
| Ethereum validator | Danh mục | Các keystore, mật khẩu mở khóa của chúng và lịch sử slashing. Lịch sử của một bản sao lưu dừng ở snapshot của nó, nên một khóa đã ký sau thời điểm đó, nếu được khôi phục, có thể bị slash: hãy chuyển signer bằng `erpc v --chain eth migrate` |
| Arc RPC | Khóa đồng thuận | Khóa đồng thuận, đã mã hóa |
| Avalanche | Bản sao lưu của khóa staking và khóa BLS | Cùng các khóa đó, được tạo ngay tại đó trong lần triển khai đầu tiên |
| Sui validator | Các khóa giao thức, mạng và worker, được tạo trên máy của riêng bạn | Cùng ba khóa đó, được mã hóa bằng `systemd-creds` cho host đó. Không bao giờ có khóa tài khoản |
| Sui full node | Danh mục | Thông tin xác thực mạng, được mã hóa cho host đó. Không có bản sao nào khác |
| TRON witness | Keystore đã mã hóa và mật khẩu của nó | Cùng những thứ đó, dưới dạng thông tin xác thực systemd đã mã hóa |
| Polygon validator | Khóa signer mà `init` tạo ra. Khóa của staking owner không bao giờ được yêu cầu | Cùng khóa đó, được mã hóa cho host đó. Trong khi node chỉ quan sát, nó chạy dưới một identity riêng |
| BNB Chain validator | Bản sao lưu của dữ liệu ký và peer identity | Khóa đồng thuận trong một keystore đã mã hóa, khóa vote trong một ví đã mã hóa, và mật khẩu của chúng được mã hóa cho host đó |
| Kaia validator (consensus node hoặc proxy node) | Bản sao lưu của node identity | Node identity, được tạo trên host và được mã hóa cho host đó. Các ví của người vận hành nằm ngoài erpc |
| Monad node (RPC hoặc validator) | Cả hai keystore gốc | Cùng các keystore đó, được mã hóa cho host đó |
| Hyperliquid validator | Khóa đồng thuận hot. Khóa của tài khoản cold không bao giờ được yêu cầu | Khóa hot, được mã hóa cho host đó và chỉ được nạp bởi các unit validator đã được kích hoạt |
| Hyperliquid AQA publisher | API key hoặc khóa agent dành riêng cho nó | Cùng khóa đó, được mã hóa cho host đó |
| NEAR validator | Khóa đồng thuận | Cùng khóa đó, được mã hóa cho host đó |
| Arbitrum validator | Ví mà `init` tạo ra, và thông tin xác thực của provider | Thông tin xác thực của provider, đã mã hóa, và kể từ khi dùng `--activate-signer` thì có cả ví, thuộc sở hữu của root và đã mã hóa |
| Robinhood Chain validator | Ví mà `init` tạo ra, và cấu hình provider | Cấu hình provider, đã mã hóa, và kể từ khi dùng `--activate-signer` thì có cả ví, thuộc sở hữu của root và đã mã hóa |
| RPC họ OP | Danh mục và các giá trị của provider | Thông tin xác thực provider, engine JWT và các peer identity, đã mã hóa. Hãy sao lưu bản ghi owner và secret mã hóa của host |
| Nitro RPC | Danh mục và thông tin xác thực upstream | Thông tin xác thực upstream, đã mã hóa |

Các RPC node khác không giữ khóa ký nào cho validator, nhưng host của chúng giữ những gì client tự tạo cho mình, chẳng hạn engine JWT, peer identity hoặc RPC cookie.

Chỉ riêng một bản sao lưu khóa không làm cho việc khôi phục validator trở nên an toàn. Hãy làm theo quy trình khôi phục của chain trước khi bạn thay server hoặc khôi phục dữ liệu của nó; hướng dẫn của từng chain cho biết cách khôi phục khóa của chain đó ([Node](https://erpc.global/vi/doc/erpc-cli/nodes/#chain-và-hướng-dẫn)).

Chỉ có một lệnh ghi khóa node ra ổ đĩa trên máy của bạn: `erpc validator vote-account` ghi khóa identity và khóa vote vào các tệp `0600` trong thư mục trạng thái trong khi Solana CLI chạy, rồi xóa sạch chúng sau đó. Một tiến trình bị dừng đột ngột có thể để lại tệp cho đến khi một lần chạy sau dọn nó đi.

Khóa trading và các secret của một ứng dụng `erpc worker` được giữ riêng với những khóa này: [Khóa và secret](https://erpc.global/vi/doc/erpc-cli/worker-secrets/).

## Các tệp erpc giữ

| Đường dẫn | Nội dung |
| --- | --- |
| `~/.erpc/config.toml` | Thiết lập công khai (`erpc config`) |
| `~/.erpc/state/` | Phiên và các lock (`erpc doctor` cho biết phiên được lưu như thế nào) |
| `~/.erpc/conversations/` | Các cuộc trò chuyện ERPC AI đã lưu |
| `~/.erpc/memory.json` | Những gì ERPC AI ghi nhớ |
| `~/.erpc/vps_hosts.json` | Khóa host của các VPS mà ERPC AI đã đăng nhập vào |
| `~/.erpc/skills/` | Các skill do `erpc skills install` ghi ra |
| `~/.erpc/storage-key` | Khóa mã hóa storage, khi `erpc login` giữ phiên trong một tệp |
| `~/.erpc/backup-password`, `~/.erpc/backup-admin-key` | Mật khẩu chính cho sao lưu và khóa `read_write`, khi `erpc login` giữ phiên trong một tệp |
| `~/.erpc/keystore/` | Keystore của worker: các secret và khóa trading của ứng dụng, mỗi thứ trong một tệp được mã hóa bằng cụm mật khẩu của bạn, trên máy không có 1Password cũng không có chuỗi khóa tồn tại lâu dài |
| `~/.erpc/workers.toml` | Danh sách các ứng dụng `erpc worker` trên máy này |
| `~/.erpc/backup.env` | Thông tin xác thực sao lưu của máy này (`0600`) |
| `~/.erpc/bin/restic-0.19.1` | Bản restic đã ghim mà `erpc backup` cài đặt |
