ลงชื่อเข้าใช้ 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-account1Password ผ่าน 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)inventoryidentity ที่สร้างขึ้นบนโฮสต์นั้น และจะไม่ออกไปจากโฮสต์เลย
Ethereum validatorinventorykeystore, รหัสผ่านสำหรับปลดล็อก keystore และประวัติ slashing ประวัติในข้อมูลสำรองจะหยุดอยู่ที่ snapshot ของข้อมูลสำรองนั้น ดังนั้นการเรียกคืนคีย์ที่ลงนามหลังจาก snapshot อาจทำให้ถูก slash ได้: ให้ย้าย signer ด้วย erpc v --chain eth migrate
Arc RPCconsensus keyconsensus key แบบเข้ารหัส
Avalancheข้อมูลสำรองของ staking key และ BLS keyคีย์ชุดเดียวกัน ซึ่งสร้างขึ้นบนโฮสต์นั้นในการ deploy ครั้งแรก
Sui validatorprotocol key, network key และ worker key ที่สร้างบนเครื่องของคุณเองคีย์ทั้งสามตัวนั้น ซึ่งเข้ารหัสด้วย systemd-creds ผูกกับโฮสต์นั้น ไม่รวม account key เลย
Sui full nodeinventoryข้อมูลรับรองของเครือข่าย ซึ่งเข้ารหัสผูกกับโฮสต์นั้น ไม่มีสำเนาอื่น
TRON witnesskeystore ที่เข้ารหัสและรหัสผ่านของ keystoreชุดเดียวกัน ในรูป systemd credential ที่เข้ารหัส
Polygon validatorsigner key ที่ init สร้างขึ้น ไม่มีการขอคีย์ของ staking owner เลยคีย์เดียวกัน ซึ่งเข้ารหัสผูกกับโฮสต์นั้น ระหว่างที่ node เพียงสังเกตการณ์ node จะทำงานภายใต้ identity แยกต่างหาก
BNB Chain validatorข้อมูลสำรองของ signing material และ peer identityconsensus key ใน keystore ที่เข้ารหัส, vote key ใน wallet ที่เข้ารหัส และรหัสผ่านของทั้งสองที่เข้ารหัสผูกกับโฮสต์นั้น
Kaia validator (consensus node หรือ proxy node)ข้อมูลสำรองของ node identitynode identity ซึ่งสร้างบนโฮสต์และเข้ารหัสผูกกับโฮสต์นั้น wallet ของผู้ดูแลยังคงอยู่นอก erpc
Monad node (RPC หรือ validator)keystore ต้นฉบับทั้งสองชุดkeystore ชุดเดียวกัน ซึ่งเข้ารหัสผูกกับโฮสต์นั้น
Hyperliquid validatorhot consensus key ไม่มีการขอคีย์ของ cold account เลยhot key ซึ่งเข้ารหัสผูกกับโฮสต์นั้น และโหลดโดย validator unit ที่เปิดใช้งานแล้วเท่านั้น
Hyperliquid AQA publisherAPI key หรือ agent key เฉพาะของ publisher นั้นคีย์เดียวกัน ซึ่งเข้ารหัสผูกกับโฮสต์นั้น
NEAR validatorconsensus keyคีย์เดียวกัน ซึ่งเข้ารหัสผูกกับโฮสต์นั้น
Arbitrum validatorwallet ที่ init สร้างขึ้น และข้อมูลรับรองของ providerข้อมูลรับรองของ provider แบบเข้ารหัส และตั้งแต่ --activate-signer เป็นต้นไปจะรวม wallet ด้วย ซึ่งเป็นของ root และเข้ารหัส
Robinhood Chain validatorwallet ที่ init สร้างขึ้น และการกำหนดค่าของ providerการกำหนดค่าของ provider แบบเข้ารหัส และตั้งแต่ --activate-signer เป็นต้นไปจะรวม wallet ด้วย ซึ่งเป็นของ root และเข้ารหัส
OP-family RPCinventory และค่าของ providerข้อมูลรับรองของ provider, engine JWT และ peer identity แบบเข้ารหัส โปรดสำรอง owner record และ secret สำหรับการเข้ารหัสของโฮสต์
Nitro RPCinventory และข้อมูลรับรองของ upstreamข้อมูลรับรองของ upstream แบบเข้ารหัส
RPC node อื่น ๆ ไม่ได้เก็บ signing key สำหรับ validator แต่โฮสต์ของ RPC node เหล่านั้นจะเก็บสิ่งที่ client สร้างขึ้นเอง เช่น engine JWT, peer identity หรือ RPC cookie
ข้อมูลสำรองของคีย์เพียงอย่างเดียวไม่ได้ทำให้การกู้คืน validator ปลอดภัย โปรดทำตามขั้นตอนการกู้คืนของเชนนั้นก่อนเปลี่ยนเซิร์ฟเวอร์หรือเรียกคืนข้อมูลของเซิร์ฟเวอร์ คู่มือของแต่ละเชนจะบอกวิธีเรียกคืนคีย์ของเชนนั้น (Node)
มีคำสั่งเดียวที่เขียนคีย์ของ node ลงดิสก์บนเครื่องของคุณ: erpc validator vote-account จะเขียน identity key และ vote key ลงในไฟล์ 0600 ใต้ไดเรกทอรี state ขณะที่ Solana CLI ทำงาน และลบไฟล์เหล่านั้นทิ้งหลังจากนั้น process ที่ตายไปกลางคันอาจทิ้งไฟล์ไว้จนกว่าการรันครั้งต่อ ๆ ไปจะกวาดไฟล์นั้นออก
คีย์เทรดและ secret ของแอป erpc worker ถูกเก็บแยกจากคีย์เหล่านี้: คีย์และ secret

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

Pathสิ่งที่เก็บ
~/.erpc/config.tomlการตั้งค่าสาธารณะ (erpc config)
~/.erpc/state/เซสชันและล็อก (erpc doctor บอกว่าเซสชันถูกเก็บอย่างไร)
~/.erpc/conversations/การสนทนากับ ERPC AI ที่บันทึกไว้
~/.erpc/memory.jsonสิ่งที่ ERPC AI จำไว้
~/.erpc/vps_hosts.jsonhost 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.1restic เวอร์ชันที่ pin ไว้ซึ่ง erpc backup ติดตั้ง