ERPC CLI कमांड

ERPC CLI के सभी कमांड समूह एक टेबल में, हर कमांड पर काम करने वाले options, और वे एग्ज़िट कोड जिन पर कोई script भरोसा कर सकती है।
यह पेज ERPC CLI v0.1.0-rc.4 के बारे में है, जो एक प्री-रिलीज़ है।

कमांड समूह

किसी भी कमांड समूह के verbs की सूची देखने के लिए उसे बिना verb के चलाएँ, जैसे erpc validator या erpc worker।
कमांडयह क्या करता है
validator (v), rpc (r), node (n)Validator और RPC नोड
rpc callShared, custom या x402 endpoint पर एक JSON-RPC request भेजता है (RPC calls और webhooks)
webhookलोकल RPC subscriptions प्रबंधित करता है और इवेंट को एक HTTP callback तक पहुँचाता है
ai, resume, memory, skillsERPC AI, उसकी सहेजी गई बातचीत, याददाश्त और स्किल्स
worker (w)सर्वर पर आपके अपने app
storage (st), backupERPC Global Storage और मशीन के बैकअप (नीचे)
walletBase wallet, जो EURC से ERPC Credit खरीदता है (wallet से भुगतान करें)
signup, login, logout, whoamiआपका ERPC account (लॉग इन और keys)
doctorबताता है कि यह मशीन आपका session कैसे रखती है
config~/.erpc/config.toml पढ़ता और बदलता है (केवल public settings)। erpc config init comments वाली एक शुरुआती फ़ाइल लिखता है, अगर पहले से कोई फ़ाइल न हो
versionVersion, build और components की जानकारी
completionsShell completions बनाता है: erpc completions zsh, और bash, fish, powershell और elvish के लिए भी

ग्लोबल options

  • --json मशीन से पढ़ा जा सकने वाला output देता है: erpc --json <command>। ERPC_JSON=true का भी यही असर होता है। नोड कमांड में --json को कमांड से पहले लिखना होता है।
  • --lang वह भाषा तय करता है जिसमें erpc बोलता है: en, ja, zh या ru। इसके बिना erpc locale सेटिंग इस्तेमाल करता है, और वह न हो तो सिस्टम की भाषा।

Errors और एग्ज़िट कोड

विफलता हर जगह एक जैसी दिखती है: एक error: पंक्ति, जो बताती है कि क्या गलत हुआ, और अगर आगे करने को कुछ हो, तो एक hint: पंक्ति, जो बताती है कि आगे क्या करना है। --json के साथ, विफलता standard output पर एक object होती है, {"error": {"code", "exit", "message", "hint"}}। दो मामलों में इसकी जगह clap का अपना संदेश छपता है और एग्ज़िट कोड 2 होता है: टर्मिनल पर ऐसी कमांड लाइन जिसे clap parse नहीं कर सकता, और ऐसा argument जिसे नोड tree (erpc validator, rpc, node) का verb नहीं लेता, --json के साथ भी। details field केवल तब दिखता है जब किसी कमांड के पास script को यह बताने के लिए और कुछ हो कि विफल होने से पहले उसने क्या किया, और टर्मिनल पर कभी नहीं।
एग्ज़िटकोडअर्थ
0काम हो गया
1failedजो माँगा गया था, वह नहीं हो सका
2usageकमांड लाइन इस्तेमाल करने योग्य नहीं थी
3needs_terminalकिसी व्यक्ति को जवाब देना होगा: --yes दें या इसे टर्मिनल में चलाएँ
4not_signed_inerpc login चलाएँ
5problems_foundकिसी जाँच (status, doctor) में समस्याएँ मिलीं, और उसकी रिपोर्ट बताती है कि कौन-सी
6declinedआपने मना किया, और कुछ नहीं बदला गया
7networkERPC या किसी दूसरी service तक नहीं पहुँचा जा सका
Ctrl-C (या SIGTERM, SIGHUP) से रोके जाने पर erpc उसी signal से समाप्त होता है, इसलिए script में चल रहा loop भी रुक जाता है। प्रकाशित कोड का नाम और उसका एग्ज़िट कोड वही रहता है, और किसी कोड का दोबारा इस्तेमाल कभी नहीं होता।

स्टोरेज और बैकअप

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 केवल एन्क्रिप्टेड bytes रखता है और key कभी अपने पास नहीं रखता। erpc storage get एन्क्रिप्टेड फ़ाइल को पहचानकर उसे डिक्रिप्ट करता है।
  • हर account के लिए एक स्टोरेज key होती है, जो उस store में रखी जाती है जिसे erpc login ने चुना था। erpc इसे Linux kernel keyring में नहीं रखता, जो रीबूट पर मिट जाता है: --store 1password या --store file के साथ लॉग इन करें, या --no-encrypt इस्तेमाल करें। file store के साथ key बिना एन्क्रिप्ट किए ~/.erpc/storage-key (mode 0600) में रहती है। --no-encrypt उस फ़ाइल को, जिसे आप भेज रहे हैं, जैसी है वैसी ही, बिना एन्क्रिप्ट किए अपलोड करता है।
  • स्टोरेज key खोने पर उससे एन्क्रिप्ट की गई हर फ़ाइल खो जाती है, और ERPC उसे वापस नहीं ला सकता। erpc storage key export --show key को दिखाता है, ताकि उसकी एक कॉपी मशीन से दूर रखी जा सके, और erpc storage key import उसे किसी दूसरी मशीन पर वापस लेता है।
  • जिस path के तहत फ़ाइल रखी जाती है, वह path और फ़ाइल का आकार ERPC को दिखाई देते हैं।
  • erpc storage keys list स्टोरेज की access keys दिखाता है, और erpc storage keys revoke <n> उनमें से एक को revoke करता है।

erpc backup

erpc backup, restic से किसी मशीन का बैकअप ERPC Global Storage पर लेता है। फ़ाइलें आपकी मशीन से बाहर जाने से पहले उसी पर एन्क्रिप्ट होती हैं, और ERPC के पास कभी ऐसा पासवर्ड नहीं होता जो बैकअप खोल सके।
कमांडयह क्या करता है
erpc backup initrestic इंस्टॉल करता है, access keys और repository बनाता है, और इस मशीन को उसकी अपनी restic key देता है
erpc backup run [paths]बैकअप लेता है। Linux पर, कोई path न देने पर, pseudo-filesystems, mounts और volatile paths को छोड़कर /। दूसरी जगहों पर paths के नाम दें
erpc backup snapshotsइस मशीन के स्नैपशॉट; हर मशीन के स्नैपशॉट के लिए --all-hosts
erpc backup restore <id|latest>एक नई directory में पुनर्स्थापित करता है, जब तक --target कोई दूसरी directory न बताए। --in-place पूछने के बाद इसी मशीन की फ़ाइलों के ऊपर लिखता है
erpc backup checkrepository की जाँच करता है और 5% डेटा वापस पढ़ता है
erpc backup pruneपूछने के बाद, एक मशीन के 7 दैनिक, 4 साप्ताहिक और 6 मासिक स्नैपशॉट रखता है
erpc backup schedule daily|weekly|off [paths]run को टाइमर पर, --at में दिए समय पर चलाता है (डिफ़ॉल्ट 03:00)
erpc backup statusशेड्यूल, और पिछला run कैसे समाप्त हुआ
erpc backup password --showrepository का मास्टर पासवर्ड दिखाता है, ताकि उसकी एक कॉपी कहीं और रखी जा सके
  • हर मशीन को एक append-only key मिलती है, जो उसके अपने बैकअप नहीं मिटा सकती। जिस मशीन पर आपने erpc backup init चलाया था, उसके पास वे keys भी होती हैं जो मिटा सकती हैं, इसलिए यह सुरक्षा केवल उसी मशीन पर काम करती है जिस पर न erpc session हो और न account के बैकअप secrets।
  • erpc backup password --show की एक कॉपी मशीनों से दूर रखें। मास्टर पासवर्ड और हर मशीन की backup.env खो देने पर बैकअप खो जाते हैं।
  • बैकअप जानी-पहचानी key फ़ाइलों और सिस्टम secrets को छोड़ देता है, जैसे .ssh/id_*, .config/solana/id.json, erpc का session और SSH host keys। किसी दूसरे नाम से या किसी दूसरी जगह रखी key सामग्री का बैकअप किसी भी दूसरी फ़ाइल की तरह लिया जाता है: उसे --exclude से बाहर रखें।
  • erpc, restic 0.19.1 इंस्टॉल करता है और archive व program दोनों को erpc में compile किए गए SHA-256 digests से जाँचता है।
  • शेड्यूलिंग: Linux पर sudo erpc backup init, फिर sudo erpc backup schedule daily। macOS पर erpc backup schedule daily ~/Documents; job आपके user के रूप में चलता है, जब तक आप लॉग इन हैं।
  • बैकअप account के डिफ़ॉल्ट region में जाते हैं। erpc backup उसी मशीन पर चलता है जिसका वह बैकअप लेता है; worker के सर्वर को इसकी जगह erpc worker backup on से सेट किया जाता है (App के state का बैकअप लें)।