भूमिका हमेशा ऑनलाइन क्या इस्तेमाल करता है क्या करता है अगर धोखा दे
उपयोगकर्ता (user) नहीं ब्राउज़र ऑर्डर करता है, फ़ंड करता है, सामान मिलने की पुष्टि करता है, विवाद खोलता है ―
प्रॉक्सी शॉपर (proxy shopper) हाँ Go नोड + shopper-bot कोटेशन देता है, उपयोगकर्ता की ओर से ख़रीदता है, शिपिंग की जानकारी देता है; शुल्क कमाता है एस्क्रो के फ़ैसले में अपना हिस्सा खोता है; ऑपरेटर उसे सूची से हटा देता है
एस्क्रो (escrow) नहीं ब्राउज़र या Go नोड T1 से पहले विवादों पर फ़ैसला देता है ऑपरेटर उसे सूची से हटा देता है; उनकी शर्तों के अनुसार उसका बॉन्ड ज़ब्त करके मुआवज़े में इस्तेमाल होता है
ऑपरेटर (operator) नहीं ब्राउज़र, Go नोड या psctl हर क्षेत्र के लिए भरोसेमंद शॉपर × एस्क्रो जोड़ियों की सूची पर हस्ताक्षर करता है; शिकायतें लेता है कोऑर्डिनेटर उसका डेलिगेशन रद्द कर देता है
कोऑर्डिनेटर (coordinator) नहीं ब्राउज़र या psctl ऑपरेटरों को डेलिगेशन पर हस्ताक्षर करता है उपयोगकर्ता उसे अपनी सेटिंग्स से हटा देते हैं (बर्ख़ास्तगी)

उपयोगकर्ता

  1. वेब ऐप खोलें, एक मनेमोनिक (12 शब्द) बनाएँ, उसे लिख लें, और कुंजी को एन्क्रिप्ट करने वाला पासफ़्रेज़ चुनें।
  2. दुकान का URL, दुकान का क्षेत्र और सामान दर्ज करें।
  3. दिखाई गई शॉपर × एस्क्रो जोड़ियों में से एक चुनें और ऑर्डर दें।
  4. कोटेशन आता है। अगर उसका रेट आपके अपने स्रोतों से 3% से ज़्यादा अलग है तो आपको सावधानी का संदेश मिलता है; 10% से ऊपर हो तो कड़ी चेतावनी।
  5. स्वीकार करें और फ़ंड करें। पैसा मल्टीसिग और एस्क्रो के अग्रिम शुल्क में बँट जाता है।
  6. सामान पहुँचने पर “मिल गया” दबाएँ (राशि और प्राप्तकर्ता दिखाने वाली स्क्रीन के बाद आपका आंशिक हस्ताक्षर शॉपर को जाता है)।
  7. अगर सामान नहीं पहुँचता, तो विवाद खोलें। ऐप आपके लिए सबूत इकट्ठा करता है।

प्रॉक्सी शॉपर

  • Go नोड को role: shopper के साथ चलाएँ और shopper-bot (ब्राउज़र ऑटोमेशन टूल) जोड़ें।
  • भुगतान तरीके, मुद्राएँ, वे क्षेत्र जहाँ आप नकद दे सकते हैं, अपना शुल्क और दुकान-जोखिम नीति सेट करें।
  • कार्ड की जानकारी सिर्फ़ shopper-bot के अंदर रहती है; वह कभी नोड या नेटवर्क को नहीं दी जाती।
  • अगर उपयोगकर्ता कभी सामान मिलने की पुष्टि नहीं करता और T1 बीत जाता है, तो आप अकेले ही फ़ंड ले सकते हैं।

एस्क्रो

  • सिर्फ़ उन्हीं ऑर्डरों के विवादों पर फ़ैसला देता है जिनमें उसका अग्रिम शुल्क दिया गया हो।
  • आम तौर पर वह डिलीवरी का पता नहीं पढ़ सकता। विवाद में शॉपर (या उपयोगकर्ता) उसे डिक्रिप्शन की कुंजी देता है।
  • फ़ैसला दोनों पक्षों तक एक हस्ताक्षरित ट्रांज़ैक्शन के रूप में पहुँचता है; उनमें से कोई एक काउंटर-साइन करे तो वह अंतिम हो जाता है।

ऑपरेटर

  • अपने क्षेत्रों (एक या ज़्यादा), जोड़ियों की सूची, और अपने सुझाए रिले व चेन एंडपॉइंट पर हस्ताक्षर करता है।
  • शिकायत मिलने पर दोषी को हटाकर सूची का नया वर्ज़न प्रकाशित करता है। बॉन्ड उन शर्तों के अनुसार चलता है जिन पर वह एस्क्रो से सहमत हुआ था।

कोऑर्डिनेटर

  • ऑपरेटरों को डेलिगेशन जारी करता है। रद्द करने का मतलब है revoked के साथ नया वर्ज़न प्रकाशित करना।

सूची में आना (रजिस्ट्री)

मेंटेनर की ट्रस्ट रजिस्ट्री GitHub रिपॉज़िटरी pad01g/proxy-shopping-registry है। मर्ज हुआ pull request ही मंज़ूरी है: हर मर्ज के बाद CI रजिस्ट्री की कुंजियों से नए डेलिगेशन और सूचियों पर हस्ताक्षर करता है और उन्हें प्रकाशित करता है (सार्वजनिक Nostr रिले पर और https://pad01g.github.io/proxy-shopping-registry/events.json पर)।

आप बनना चाहते हैं pull request में जोड़ें मर्ज से क्या होता है
शॉपर shoppers/<name>.json (pk, संपर्क, विवरण, नकद वाले क्षेत्र, भुगतान तरीके, जिन एस्क्रो के साथ आप काम करते हैं) रजिस्ट्री का ऑपरेटर आपकी शॉपर × एस्क्रो जोड़ियों को सूची में डालता है
एस्क्रो escrows/<name>.json (pk, संपर्क, विवरण, SLA दिन) शॉपर आपका नाम ले सकते हैं; आपकी जोड़ियाँ दिखने लगती हैं
ऑपरेटर operators/<name>.json (pk, संपर्क, विवरण, क्षेत्र) रजिस्ट्री का कोऑर्डिनेटर आपको डेलिगेट करता है; फिर आप अपनी सूचियों पर ख़ुद हस्ताक्षर करते हैं
कोऑर्डिनेटर coordinators/<name>.json (pk, संपर्क, विवरण) आप उस कोऑर्डिनेटर डायरेक्टरी में दिखते हैं जो ऐप्स उपयोगकर्ताओं को दिखाते हैं (हर उपयोगकर्ता फिर भी ख़ुद चुनता है कि किस पर भरोसा करे)

pk आपकी Nostr पब्लिक की है (64 hex अक्षर): वेब ऐप इसे Settings में दिखाता है, और psctl keys --mnemonic-file … इसे प्रिंट करता है। किसी को हटाने के लिए एक pull request चाहिए जो उसकी फ़ाइल को कारण के साथ revoked/ में ले जाए। सटीक फ़ाइल फ़ॉर्मैट और कमांड रजिस्ट्री के README में हैं।