---
title: "ลงชื่อเข้าใช้ ERPC CLI และดูว่าคีย์ของคุณถูกเก็บไว้ที่ใด"
description: "ลงชื่อเข้าใช้บัญชี ERPC ของคุณจากเครื่องนี้ เลือกว่า ERPC CLI จะเก็บเซสชันไว้ที่ใด และดูว่าคีย์ของ node และไฟล์ที่ erpc เขียนถูกเก็บไว้ที่ใด"
canonical: "https://erpc.global/th/doc/erpc-cli/sign-in-and-keys/"
locale: "th"
---

# ลงชื่อเข้าใช้ ERPC CLI และดูว่าคีย์ของคุณถูกเก็บไว้ที่ใด

ลงชื่อเข้าใช้จากเครื่องนี้ แล้ว ERPC CLI จะเก็บเซสชันไว้ในพวงกุญแจของคุณหรือ 1Password หน้านี้ยังแสดงว่าคีย์ของ node ถูกเก็บไว้ที่ใด และ erpc เก็บไฟล์ใดไว้บ้าง

หน้านี้อธิบาย ERPC CLI `v0.1.0-rc.4` ซึ่งเป็นเวอร์ชัน pre-release

## ลงชื่อเข้าใช้

```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 device authorization grant บนเครื่องที่ไม่มีเบราว์เซอร์ `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-account` | 1Password ผ่าน token ของ service account |
| `file` | ไฟล์บนดิสก์ ซึ่งจะทิ้ง secret ไว้บนเครื่องนี้ |

หากไม่มีตัวเลือกทั้งที่ระบุมาและที่บันทึกไว้ erpc จะใช้ service account ของ 1Password เมื่อมีการตั้ง `OP_SERVICE_ACCOUNT_TOKEN` ไว้ มิฉะนั้นจะใช้พวงกุญแจของระบบปฏิบัติการหากมี และหากไม่มีก็จะใช้ไฟล์ในไดเรกทอรี state ของ erpc `erpc doctor` จะรายงานว่ากำลังใช้ที่เก็บใดและเพราะเหตุใด เมื่อใช้ service account erpc จะส่ง `OP_SERVICE_ACCOUNT_TOKEN` ให้เฉพาะ process `op` ที่ erpc เริ่มเท่านั้น และไม่เขียน token นั้นไว้ที่ใดเลย

item ใน 1Password จะตั้งชื่อตามชื่อของเครื่อง เพื่อไม่ให้สองเครื่องใช้เซสชันเดียวกันร่วมกันเลย `ERPC_HOST_LABEL` ใช้แทนที่ชื่อนี้

### บน Linux

พวงกุญแจคือ Secret Service ในกรณีที่มี Secret Service ตอบสนอง มิฉะนั้นจะเป็น persistent keyring ของ kernel สำหรับผู้ใช้ของคุณ ซึ่งอยู่ในหน่วยความจำและไม่อยู่บนดิสก์เลย: เซสชันจะคงอยู่จนกว่าจะรีบูต หรือจนกว่าจะไม่ได้ใช้งานเป็นเวลาสองสามวัน จากนั้นจะต้องรัน `erpc login` อีกครั้ง shell ที่เริ่มโดยไม่มีการเข้าสู่ระบบของตัวเอง (`su` ที่ไม่มี `-`, `sudo -E`) จะใช้ keyring นั้นไม่ได้ และ erpc จะปฏิเสธพร้อมแจ้งให้ทราบ

### บน macOS

erpc เข้าถึงพวงกุญแจผ่าน `/usr/bin/security` โปรแกรมอื่นใดที่รันในนามของคุณสามารถอ่านเซสชันได้ด้วยการรัน `security` เช่นกัน ขณะที่พวงกุญแจยังคงเก็บเซสชันแบบเข้ารหัสขณะจัดเก็บ และกันไม่ให้ผู้ใช้อื่นเข้าถึง

### เมื่อเซสชันอยู่บนดิสก์

erpc เขียนเซสชันลงในไดเรกทอรี state ของตนในสามกรณี: เมื่อใช้ที่เก็บ `file`, สำหรับเซสชันที่พักไว้ (refresh token ที่หมุนเวียนแล้วแต่ไปไม่ถึงที่เก็บ) และหลังจากการเขียนที่ถูกขัดจังหวะ `erpc doctor` จะรายงานไฟล์แต่ละไฟล์เหล่านี้ตราบเท่าที่ไฟล์ยังอยู่ บน Unix ไฟล์เหล่านี้ถูกสร้างด้วย mode `0600` ส่วนบน Windows erpc ไม่ได้ตั้งสิทธิ์ใด ๆ ของตัวเอง

## ที่เก็บคีย์ของ node

inventory ของ node และข้อมูลสำรองของคีย์ต้นฉบับที่คู่มือของแต่ละเชนระบุไว้ จะถูกเก็บไว้ใน 1Password ไม่ใช่ทุกคีย์ที่อยู่ใน 1Password และ node อาจเก็บคีย์ที่ต้องใช้ในการทำงานไว้ด้วย โปรดสำรองสิ่งที่อยู่บนโฮสต์ด้วยตัวเอง: การสร้างโฮสต์นั้นใหม่โดยไม่มีข้อมูลสำรองจะทำให้สิ่งนั้นสูญหาย นอกจากนี้ Sui validator ที่ active อยู่หรือ TRON witness ที่ได้รับเลือกแล้วจะปฏิเสธการย้ายไปยังโฮสต์ใหม่ด้วย

| Node | ใน 1Password | บนโฮสต์ |
| --- | --- | --- |
| Solana validator (native) | identity และ sync keypair ที่คุณสร้าง ส่วน vote account และ withdraw authority จะมอบให้ erpc ในรูปคีย์สาธารณะเท่านั้น | sync keypair ที่เข้ารหัสผูกกับโฮสต์นั้น และตั้งแต่ `--activate-validator` เป็นต้นไปจะรวม identity ด้วย ส่วน vote account และ withdrawal key จะไม่ถูกนำเข้าเลย |
| Solana validator (solv) | identity ที่ stake แล้ว และ withdraw authority เว้นแต่คุณจะให้เพียงคีย์สาธารณะของ withdraw authority ส่วนคีย์ของ vote account จะถูกลบเมื่อ account ได้รับการยืนยันแล้ว | `unstaked-identity.json` แบบใช้แล้วทิ้งในรูป plain text การ deploy จะไม่คัดลอกคีย์ที่ stake แล้วหรือ withdraw authority ไปยัง node เลย |
| Solana RPC (native) | identity ที่คุณสร้าง | identity เดียวกัน ซึ่งเข้ารหัสผูกกับโฮสต์นั้น |
| Solana RPC (solv) | inventory | identity ที่สร้างขึ้นบนโฮสต์นั้น และจะไม่ออกไปจากโฮสต์เลย |
| Ethereum validator | inventory | keystore, รหัสผ่านสำหรับปลดล็อก keystore และประวัติ slashing ประวัติในข้อมูลสำรองจะหยุดอยู่ที่ snapshot ของข้อมูลสำรองนั้น ดังนั้นการเรียกคืนคีย์ที่ลงนามหลังจาก snapshot อาจทำให้ถูก slash ได้: ให้ย้าย signer ด้วย `erpc v --chain eth migrate` |
| Arc RPC | consensus key | consensus key แบบเข้ารหัส |
| Avalanche | ข้อมูลสำรองของ staking key และ BLS key | คีย์ชุดเดียวกัน ซึ่งสร้างขึ้นบนโฮสต์นั้นในการ deploy ครั้งแรก |
| Sui validator | protocol key, network key และ worker key ที่สร้างบนเครื่องของคุณเอง | คีย์ทั้งสามตัวนั้น ซึ่งเข้ารหัสด้วย `systemd-creds` ผูกกับโฮสต์นั้น ไม่รวม account key เลย |
| Sui full node | inventory | ข้อมูลรับรองของเครือข่าย ซึ่งเข้ารหัสผูกกับโฮสต์นั้น ไม่มีสำเนาอื่น |
| TRON witness | keystore ที่เข้ารหัสและรหัสผ่านของ keystore | ชุดเดียวกัน ในรูป systemd credential ที่เข้ารหัส |
| Polygon validator | signer key ที่ `init` สร้างขึ้น ไม่มีการขอคีย์ของ staking owner เลย | คีย์เดียวกัน ซึ่งเข้ารหัสผูกกับโฮสต์นั้น ระหว่างที่ node เพียงสังเกตการณ์ node จะทำงานภายใต้ identity แยกต่างหาก |
| BNB Chain validator | ข้อมูลสำรองของ signing material และ peer identity | consensus key ใน keystore ที่เข้ารหัส, vote key ใน wallet ที่เข้ารหัส และรหัสผ่านของทั้งสองที่เข้ารหัสผูกกับโฮสต์นั้น |
| Kaia validator (consensus node หรือ proxy node) | ข้อมูลสำรองของ node identity | node identity ซึ่งสร้างบนโฮสต์และเข้ารหัสผูกกับโฮสต์นั้น wallet ของผู้ดูแลยังคงอยู่นอก erpc |
| Monad node (RPC หรือ validator) | keystore ต้นฉบับทั้งสองชุด | keystore ชุดเดียวกัน ซึ่งเข้ารหัสผูกกับโฮสต์นั้น |
| Hyperliquid validator | hot consensus key ไม่มีการขอคีย์ของ cold account เลย | hot key ซึ่งเข้ารหัสผูกกับโฮสต์นั้น และโหลดโดย validator unit ที่เปิดใช้งานแล้วเท่านั้น |
| Hyperliquid AQA publisher | API key หรือ agent key เฉพาะของ publisher นั้น | คีย์เดียวกัน ซึ่งเข้ารหัสผูกกับโฮสต์นั้น |
| NEAR validator | consensus key | คีย์เดียวกัน ซึ่งเข้ารหัสผูกกับโฮสต์นั้น |
| Arbitrum validator | wallet ที่ `init` สร้างขึ้น และข้อมูลรับรองของ provider | ข้อมูลรับรองของ provider แบบเข้ารหัส และตั้งแต่ `--activate-signer` เป็นต้นไปจะรวม wallet ด้วย ซึ่งเป็นของ root และเข้ารหัส |
| Robinhood Chain validator | wallet ที่ `init` สร้างขึ้น และการกำหนดค่าของ provider | การกำหนดค่าของ provider แบบเข้ารหัส และตั้งแต่ `--activate-signer` เป็นต้นไปจะรวม wallet ด้วย ซึ่งเป็นของ root และเข้ารหัส |
| OP-family RPC | inventory และค่าของ provider | ข้อมูลรับรองของ provider, engine JWT และ peer identity แบบเข้ารหัส โปรดสำรอง owner record และ secret สำหรับการเข้ารหัสของโฮสต์ |
| Nitro RPC | inventory และข้อมูลรับรองของ upstream | ข้อมูลรับรองของ upstream แบบเข้ารหัส |

RPC node อื่น ๆ ไม่ได้เก็บ signing key สำหรับ validator แต่โฮสต์ของ RPC node เหล่านั้นจะเก็บสิ่งที่ client สร้างขึ้นเอง เช่น engine JWT, peer identity หรือ RPC cookie

ข้อมูลสำรองของคีย์เพียงอย่างเดียวไม่ได้ทำให้การกู้คืน validator ปลอดภัย โปรดทำตามขั้นตอนการกู้คืนของเชนนั้นก่อนเปลี่ยนเซิร์ฟเวอร์หรือเรียกคืนข้อมูลของเซิร์ฟเวอร์ คู่มือของแต่ละเชนจะบอกวิธีเรียกคืนคีย์ของเชนนั้น ([Node](https://erpc.global/th/doc/erpc-cli/nodes/#เชนและคู่มือ))

มีคำสั่งเดียวที่เขียนคีย์ของ node ลงดิสก์บนเครื่องของคุณ: `erpc validator vote-account` จะเขียน identity key และ vote key ลงในไฟล์ `0600` ใต้ไดเรกทอรี state ขณะที่ Solana CLI ทำงาน และลบไฟล์เหล่านั้นทิ้งหลังจากนั้น process ที่ตายไปกลางคันอาจทิ้งไฟล์ไว้จนกว่าการรันครั้งต่อ ๆ ไปจะกวาดไฟล์นั้นออก

คีย์เทรดและ secret ของแอป `erpc worker` ถูกเก็บแยกจากคีย์เหล่านี้: [คีย์และ secret](https://erpc.global/th/doc/erpc-cli/worker-secrets/)

## ไฟล์ที่ erpc เก็บไว้

| Path | สิ่งที่เก็บ |
| --- | --- |
| `~/.erpc/config.toml` | การตั้งค่าสาธารณะ (`erpc config`) |
| `~/.erpc/state/` | เซสชันและล็อก (`erpc doctor` บอกว่าเซสชันถูกเก็บอย่างไร) |
| `~/.erpc/conversations/` | การสนทนากับ ERPC AI ที่บันทึกไว้ |
| `~/.erpc/memory.json` | สิ่งที่ ERPC AI จำไว้ |
| `~/.erpc/vps_hosts.json` | host key ของ VPS ที่ ERPC AI เคยเข้าสู่ระบบ |
| `~/.erpc/skills/` | skill ที่เขียนโดย `erpc skills install` |
| `~/.erpc/storage-key` | คีย์เข้ารหัสพื้นที่จัดเก็บ เมื่อ `erpc login` เก็บเซสชันไว้ในไฟล์ |
| `~/.erpc/backup-password`, `~/.erpc/backup-admin-key` | รหัสผ่านหลักสำหรับการสำรองข้อมูลและคีย์ `read_write` เมื่อ `erpc login` เก็บเซสชันไว้ในไฟล์ |
| `~/.erpc/keystore/` | keystore ของ worker: secret และคีย์เทรดของแอป แต่ละรายการอยู่ในไฟล์ที่เข้ารหัสด้วยวลีรหัสผ่านของคุณ บนเครื่องที่ไม่มีทั้ง 1Password และพวงกุญแจที่คงอยู่ถาวร |
| `~/.erpc/workers.toml` | รายการแอป `erpc worker` บนเครื่องนี้ |
| `~/.erpc/backup.env` | ข้อมูลรับรองสำหรับการสำรองข้อมูลของเครื่องนี้ (`0600`) |
| `~/.erpc/bin/restic-0.19.1` | restic เวอร์ชันที่ pin ไว้ซึ่ง `erpc backup` ติดตั้ง |
