คำสั่งของ ERPC CLI

กลุ่มคำสั่งทั้งหมดของ ERPC CLI ในตารางเดียว ตัวเลือกที่ใช้ได้กับทุกคำสั่ง และ exit code ที่สคริปต์เชื่อถือได้
หน้านี้อธิบาย ERPC CLI v0.1.0-rc.4 ซึ่งเป็นเวอร์ชัน pre-release

กลุ่มคำสั่ง

รันกลุ่มคำสั่งใดก็ได้โดยไม่ระบุคำสั่งย่อย เช่น erpc validator หรือ erpc worker เพื่อแสดงรายการคำสั่งย่อยของกลุ่มนั้น
คำสั่งสิ่งที่ทำ
validator (v), rpc (r), node (n)Validator และ RPC node
rpc callส่ง JSON-RPC request หนึ่งรายการไปยัง endpoint ที่ใช้ร่วมกัน endpoint ที่กำหนดเอง หรือ endpoint แบบ x402 (การเรียก RPC และ webhook)
webhookจัดการ subscription ของ RPC ในเครื่อง และส่งเหตุการณ์ไปยัง callback แบบ HTTP
ai, resume, memory, skillsERPC AI รวมถึงการสนทนาที่บันทึกไว้ ความจำ และ skill ของ ERPC AI
worker (w)แอปของคุณเองบนเซิร์ฟเวอร์
storage (st), backupERPC Global Storage และการสำรองข้อมูลของเครื่อง (ด้านล่าง)
walletwallet บน Base ที่ใช้ซื้อ ERPC Credit ด้วย EURC (ชำระเงินจาก wallet)
signup, login, logout, whoamiบัญชี ERPC ของคุณ (ลงชื่อเข้าใช้และคีย์)
doctorรายงานว่าเครื่องนี้จัดเก็บเซสชันของคุณอย่างไร
configอ่านและเปลี่ยนแปลง ~/.erpc/config.toml (เฉพาะการตั้งค่าสาธารณะ) erpc config init จะเขียนไฟล์เริ่มต้นที่มีคำอธิบายประกอบ เว้นแต่จะมีไฟล์นี้อยู่แล้ว
versionข้อมูลเวอร์ชัน build และคอมโพเนนต์
completionsสร้าง shell completion: erpc completions zsh และรองรับ bash, fish, powershell และ elvish ด้วย

ตัวเลือกส่วนกลาง

  • --json ให้ผลลัพธ์ที่เครื่องอ่านได้: erpc --json <command> ส่วน ERPC_JSON=true ให้ผลเหมือนกัน สำหรับคำสั่งของ node ต้องวาง --json ไว้ก่อนคำสั่ง
  • --lang กำหนดภาษาที่ erpc ใช้: en, ja, zh หรือ ru หากไม่ระบุ erpc จะใช้การตั้งค่า locale และหากไม่มีจะใช้ภาษาของระบบ

error และ exit code

ความล้มเหลวจะแสดงในรูปแบบเดียวกันทุกที่: บรรทัด error: ที่บอกว่าเกิดอะไรผิดพลาด และบรรทัด hint: ที่บอกว่าควรทำอะไรต่อเมื่อมีคำแนะนำ เมื่อใช้ --json ความล้มเหลวจะเป็นออบเจ็กต์เดียวบน standard output {"error": {"code", "exit", "message", "hint"}} มีสองกรณีที่จะพิมพ์ข้อความของ clap เองและจบด้วย exit status 2 แทน ได้แก่ บรรทัดคำสั่งที่ clap แยกวิเคราะห์ไม่ได้เมื่อรันในเทอร์มินัล และอาร์กิวเมนต์ที่คำสั่งย่อยของ node tree (erpc validator, rpc, node) ไม่รับ แม้จะใช้ --json ก็ตาม ฟิลด์ details จะปรากฏเฉพาะเมื่อคำสั่งมีข้อมูลเพิ่มเติมที่จะบอกสคริปต์เกี่ยวกับสิ่งที่ทำไปก่อนล้มเหลว และจะไม่ปรากฏในเทอร์มินัลเลย
exit statusรหัสความหมาย
0ทำงานสำเร็จ
1failedไม่สามารถทำสิ่งที่ขอได้
2usageบรรทัดคำสั่งใช้งานไม่ได้
3needs_terminalต้องมีคนตอบ: ส่ง --yes หรือรันในเทอร์มินัล
4not_signed_inรัน erpc login
5problems_foundการตรวจสอบ (status, doctor) พบปัญหา และรายงานของการตรวจสอบระบุว่าเป็นปัญหาใด
6declinedคุณตอบว่าไม่ และไม่มีสิ่งใดถูกเปลี่ยนแปลง
7networkไม่สามารถเชื่อมต่อ ERPC หรือบริการอื่นได้
เมื่อถูกหยุดด้วย Ctrl-C (หรือ SIGTERM, SIGHUP) erpc จะจบการทำงานด้วยสัญญาณนั้นเอง ลูปในสคริปต์จึงหยุดด้วยเช่นกัน รหัสที่เผยแพร่แล้วจะคงชื่อและ exit status เดิมไว้ และจะไม่มีการนำรหัสกลับมาใช้ซ้ำเลย

พื้นที่จัดเก็บและการสำรองข้อมูล

bash
erpc storage buy 5        # an ERPC Global Storage plan
erpc backup init          # back this machine up with restic, on a schedule if you like
erpc storage buy ซื้อแพ็กเกจ ERPC Global Storage โดยชำระจาก ERPC Credit ดูแพ็กเกจและราคาได้ที่ ราคา

erpc storage

  • erpc storage put จะเข้ารหัสไฟล์บนเครื่องนี้ก่อนส่งข้อมูลส่วนใดออกไป เว้นแต่จะระบุ --no-encrypt ERPC จัดเก็บเฉพาะไบต์ที่เข้ารหัสแล้ว และไม่ถือคีย์ไว้เลย erpc storage get จะตรวจพบไฟล์ที่เข้ารหัสและถอดรหัสให้
  • แต่ละบัญชีมีคีย์เข้ารหัสพื้นที่จัดเก็บหนึ่งคีย์ ซึ่งเก็บไว้ในที่เก็บที่ erpc login เลือก erpc ไม่เก็บคีย์นี้ไว้ใน keyring ของ Linux kernel ซึ่งจะหายไปเมื่อรีบูต: ให้ลงชื่อเข้าใช้ด้วย --store 1password หรือ --store file หรือใช้ --no-encrypt เมื่อใช้ที่เก็บ file คีย์จะอยู่ใน ~/.erpc/storage-key (mode 0600) โดยไม่ได้เข้ารหัส --no-encrypt จะอัปโหลดไฟล์ที่คุณกำลังส่งตามสภาพเดิมโดยไม่เข้ารหัส
  • การทำคีย์เข้ารหัสพื้นที่จัดเก็บหายจะทำให้สูญเสียทุกไฟล์ที่เข้ารหัสด้วยคีย์นั้น และ ERPC ไม่สามารถกู้คืนคีย์นี้ได้ erpc storage key export --show จะพิมพ์คีย์ออกมาเพื่อให้เก็บสำเนาไว้นอกเครื่องได้ และ erpc storage key import จะนำคีย์กลับมาใช้บนเครื่องอื่น
  • ERPC มองเห็น path ที่ใช้จัดเก็บไฟล์และขนาดของไฟล์ได้
  • erpc storage keys list แสดง access key ของพื้นที่จัดเก็บ และ erpc storage keys revoke <n> จะเพิกถอนคีย์หนึ่งรายการ

erpc backup

erpc backup สำรองข้อมูลเครื่องไปยัง ERPC Global Storage ด้วย restic ไฟล์จะถูกเข้ารหัสบนเครื่องของคุณก่อนออกจากเครื่อง และ ERPC ไม่ถือรหัสผ่านที่เปิดข้อมูลสำรองได้เลย
คำสั่งสิ่งที่ทำ
erpc backup initติดตั้ง restic สร้าง access key และ repository และมอบคีย์ restic ของตัวเองให้เครื่องนี้
erpc backup run [paths]สำรองข้อมูล บน Linux หากไม่ระบุ path จะสำรอง / โดยไม่รวม pseudo-filesystem, จุด mount และ path ที่เปลี่ยนแปลงชั่วคราว บนระบบอื่น ให้ระบุ path เอง
erpc backup snapshotssnapshot ของเครื่องนี้ ใช้ --all-hosts เพื่อดู snapshot ของทุกเครื่อง
erpc backup restore <id|latest>เรียกคืนไปยังไดเรกทอรีใหม่ เว้นแต่ --target จะระบุไดเรกทอรีอื่น --in-place จะเขียนทับเครื่องนี้หลังจากถามก่อน
erpc backup checkตรวจสอบ repository และอ่านข้อมูลกลับมา 5%
erpc backup pruneเก็บ snapshot รายวัน 7 รายการ รายสัปดาห์ 4 รายการ และรายเดือน 6 รายการของเครื่องหนึ่งเครื่อง หลังจากถามก่อน
erpc backup schedule daily|weekly|off [paths]รัน run ตามตัวจับเวลา ที่เวลา --at (ค่าเริ่มต้น 03:00)
erpc backup statusกำหนดการ และผลของการรันครั้งล่าสุด
erpc backup password --showพิมพ์รหัสผ่านหลักของ repository เพื่อเก็บสำเนาไว้ที่อื่น
  • แต่ละเครื่องจะได้รับคีย์แบบ append-only ที่ลบข้อมูลสำรองของตัวเองไม่ได้ เครื่องที่คุณรัน erpc backup init จะถือคีย์ที่ลบได้ไว้ด้วย ดังนั้นการป้องกันนี้จะมีผลเฉพาะบนเครื่องที่ไม่ได้เก็บเซสชันของ erpc หรือ secret สำหรับการสำรองข้อมูลของบัญชีไว้เลย
  • โปรดเก็บสำเนาของ erpc backup password --show ไว้แยกจากเครื่องต่าง ๆ หากสูญเสียรหัสผ่านหลักและ backup.env ของทุกเครื่อง ข้อมูลสำรองจะสูญหาย
  • ข้อมูลสำรองจะไม่รวมไฟล์คีย์และ secret ของระบบที่รู้จัก เช่น .ssh/id_*, .config/solana/id.json, เซสชันของ erpc และ SSH host key ส่วนข้อมูลคีย์ที่ใช้ชื่ออื่นหรืออยู่ที่อื่นจะถูกสำรองเหมือนไฟล์อื่นทั่วไป: ให้ยกเว้นด้วย --exclude
  • erpc ติดตั้ง restic 0.19.1 และตรวจสอบทั้งไฟล์ archive และโปรแกรมกับ SHA-256 digest ที่คอมไพล์ไว้ใน erpc
  • การตั้งเวลา: บน Linux ให้รัน sudo erpc backup init แล้วตามด้วย sudo erpc backup schedule daily บน macOS ให้รัน erpc backup schedule daily ~/Documents โดยงานจะทำงานในนามของคุณ ขณะที่คุณเข้าสู่ระบบอยู่
  • ข้อมูลสำรองจะไปยังภูมิภาคเริ่มต้นของบัญชี และ erpc backup ทำงานบนเครื่องที่ต้องการสำรองข้อมูล ส่วนเซิร์ฟเวอร์ของ worker ให้ตั้งค่าด้วย erpc worker backup on แทน (สำรองข้อมูล state ของแอป)