Rand Wallet لمتصفح Firefox
هو الامتداد نفسه الموجود في إصدار Chrome، من الشيفرة نفسها، ومعبَّأ لمتصفح Firefox. لا شيء فيه مصغَّر أو مجمَّع، فالشيفرة التي تراجعها Mozilla هي الشيفرة التي تشغّلها.
إدراج Firefox Add-ons قيد الانتظار. إلى أن يجتاز المراجعة، ثبّت الإصدار 0.8.0 من التنزيل أدناه، أو ابنِه من المصدر.
- مبني باستخدام
- JavaScript · Manifest V3
- يُوزَّع عبر
- addons.mozilla.org
- المتطلبات
- Firefox 140 أو أحدث
- الإرسال
- يُرسل عبر مُثبِت RandProtocol، أو عبر مُثبِتك الخاص
الإصدار 0.8.0
الملفات مرفقة بـإصدار v0.8.0 على GitHub؛ والأزرار هنا روابط إليها، ولا يُقدَّم شيء من هذا الموقع.
- افتح about:debugging، واختر This Firefox → Load Temporary Add-on… ثم اختر الملف المضغوط.
- تُزال الإضافة المؤقتة عند إعادة تشغيل Firefox. ولا يثبّت إصدار Firefox العادي بشكل دائم إلا ما وقّعته addons.mozilla.org، وهكذا يعمل الأمر إلى أن تصبح القائمة منشورة.
- يمنح Firefox أذونات المواقع الخاصة بالامتداد عند التثبيت. وإن رفضت randbridge.org هناك، فامنحه الإذن لاحقًا في لوحة أذونات الامتداد.
# باستخدام SHA256SUMS المنزَّل في المجلد نفسه الذي يوجد فيه الملف
shasum -a 256 -c SHA256SUMS --ignore-missing # macOS
sha256sum -c SHA256SUMS --ignore-missing # Linux
# أو اطبع المجموع الاختباري لملف واحد وقارنه بالقيمة الموضحة أعلاه
shasum -a 256 rand-wallet-firefox-0.8.0.zip المجموع الاختباري المطابق يعني أن الملف هو الذي نُشر. ولا يعني أن الملف بُني من المصدر: فالإصدارات المبنية غير قابلة لإعادة الإنتاج بت لبت حتى الآن، لذا إن كان هذا ما تريد معرفته، فـابنِه بنفسك.
يُرسل عبر مُثبِت RandProtocol، أو عبر مُثبِتك الخاص
يبلغ استهلاك إثبات الحزمة ذروته عند نحو 6.2 GB من الذاكرة، بينما يمنح المتصفح WebAssembly 4 GiB، لذلك لا يُنشئ الامتداد الإثبات بنفسه أبدًا. فهو يبني التحويل، ويكلّف مُثبِتًا بإنشاء الإثبات (مُثبِت RandProtocol افتراضيًا، أو مُثبِت تقترنه به)، ثم يتحقق من الإثبات محليًا ويُرسله.
يستخدم الامتداد افتراضيًا مُثبِت RandProtocol، بعد إشعار يظهر مرة واحدة. وللحفاظ على سجلّك بعيدًا عنه، اقرن تطبيق Rand Wallet لسطح المكتب على الحاسوب نفسه (من Settings → Prove for my other devices، ثم الصق الرابط في Settings → Prover في الامتداد)، أو استخدم rand-prover الخاص بك على خادم.
يستخدم الجهاز الذي لا يستطيع إنشاء إثبات مُثبِتات RandProtocol افتراضيًا: وهي بضعة أجهزة يشغّلها المدقّقون (أربعة اليوم، تحت https://prover.randprotocol.org)، دون رسوم. ابتداءً من 0.6.9 يملك كل منها مفتاحه الخاص الذي تثبّته المحفظة، وتُعلمك المحفظة بذلك قبل أول عملية إرسال. يتلقى الجهاز الذي يُثبت عملية الإرسال مفتاح العرض الخاص بالمحفظة وملحًا يُستخدم مرة واحدة: يستطيع مشغّله قراءة سجلّ المحفظة كاملًا، أي كل دفعة مستلمة ومُرسلة، ولا يستطيع الإنفاق. أما مفتاح الإنفاق فلا يغادر جهازك أبدًا، وجهازك هو الذي ينشئ إثبات التفويض الصغير بنفسه. وللمزيد من الخصوصية اختر مُثبِتك الخاص في Settings → Prover، فيصبح هو المفضّل دائمًا؛ وتتحقق المحفظة من كل إثبات قبل إرساله.
إقران مُثبِت (prover) خطوة بخطوة: docs/prover.md.
أين يقيم المفتاح
مفتاح الإنفاق هو السر الوحيد للمحفظة. لا يوجد حساب ولا خادم يحتفظ بنسخة: إن فقدت المفتاح فلن يستطيع أحد استعادته، فاحفظه عندما تعرضه المحفظة عليك.
Swap، وwindow.rand لمواقع Rand
تتيح شاشة Swap في المحفظة تداول RAND والرموز عبر مجمّعات durian.market: فهي تسعّر المبلغ بدقة من المجمّع على السلسلة، ثم تُثبت عملية المبادلة وتُرسلها بنفسها، ويستطيع durian.market طلب عملية المبادلة نفسها عبر window.rand.invoke.
يجد randbridge.org الامتداد باسم window.rand ويستطيع طلب الاتصال. يتطلب الاتصال محفظة مفتوحة القفل وموافقتك على ذلك الموقع، ويعرف الموقع المتصل عنوانك وقيمة التجزئة لمستلم الجسر الخاص بك، ولا شيء غير ذلك.
أو ابنِه بنفسك
- ابنِ الامتداد وعبّئه من مستودع clients أدناه.
- افتح about:debugging، واختر This Firefox → Load Temporary Add-on… ثم اختر dist/firefox/manifest.json.
سلسلة الأدوات: Rust 1.98.1، مثبّتة في المستودع، ويثبّتها rustup. دليل البناء يغطي كل عميل انطلاقًا من جهاز نظيف. أدلة المصدر: firefox/, extension/, ui/, core/.
git clone --recurse-submodules https://github.com/randprotocol/clients.git && cd clients
git checkout v0.8.0 && git submodule update --init # الإصدار الرسمي؛ core/vendor/fullnode @ v0.8.0 (c0878c3)
core/scripts/build-wasm.sh # ← extension/shared/core/ (يثبّت wasm-bindgen-cli)
firefox/pack.sh # ← dist/firefox/ و dist/rand-wallet-firefox-<version>.zip
npx web-ext lint --source-dir dist/firefox ما يفعله، على كل منصة
- إنشاء محفظة
- مفتاح إنفاق يُولَّد على الجهاز ويُعرض مرة واحدة لتحفظه، وعنوان rand1… المشتق منه. استورد مفتاحًا موجودًا، أو ملف wallet.key.json من واجهة rand CLI؛ فكل عميل يصدّر الملف نفسه.
- الاستلام والإرسال
- رصيدك هو مجموعة الملاحظات (notes) التي لا يفتحها سوى مفتاحك؛ وتمسح المحفظة شجرة الالتزامات لتجدها. والتحويل بعملة RAND أو بأي رمز RPL مدرج هو حزمة واحدة بأربعة مدخلات وأربعة مخرجات يخوّلها إثبات. لا أحد يعرف المرسل ولا المستلم ولا المبلغ ولا الأصل الذي انتقل.
- الحنفية (Faucet)
- على testnet ذات حنفية مفتوحة، تُصدر نقرة واحدة 100 RAND في ملاحظة (note) لا يفتحها سواك.
- اكشف ما تختاره فقط
- انسخ مفتاح العرض الخاص بك وافتح My history في RandScan لترى كل ملاحظة (note) أرسلتها أو استلمتها، أو انسخ مفتاح معاملة دفعة واحدة لتكشف تلك الدفعة بالذات ولا شيء غيرها. يفك المستكشف التشفير في متصفحك ولا يرسل المفتاح إلى أي مكان.
تُفتح مفاتيح العرض ومفاتيح المعاملات على randscan.org.
قبل أن ترسل أي شيء
- السلسلة
- تخدم نقطة النهاية العامة السلسلة 21، وهي تعمل منذ 12 Oct 2026 10:31 UTC (قُطعت على fullnode v0.8.0). تضمّن نواة المحفظة fullnode v0.8.0 (c0878c3) وترفض أي سلسلة أخرى: تعمل السلسلة 21 بمجموعة القيود 9، ولذلك لا تستطيع محفظة 0.7.x الإرسال عليها، ولا يستطيع هذا الإصدار الإرسال على السلسلة 20. تنتقل المفاتيح والعناوين كما هي؛ وتعرض المحفظة التي فحصت السلسلة 20 لافتة «سلسلة مختلفة» مرة واحدة ثم تعيد الفحص من كتلة التكوين الأولى للسلسلة 21. تحتفظ إيداعات الجسر وسحوباته برسم قدره 0.1% بعملة zUSD، وتعرضه المحفظة قبل أن تسحب.
- نقطة نهاية RPC
- Settings → Network. القيمة الافتراضية https://rpc.randprotocol.org؛ ويصلح أي RPC لـ rand-node تستطيع الوصول إليه، ويُفحص العنوان المحفوظ قبل اعتماده
- الإثبات
- يبلغ استهلاك إثبات الحزمة ذروته عند نحو 6.2 GB من الذاكرة، ويستغرق نحو دقيقة على معالج حاسوب محمول
- الحالة
- برمجيات testnet تجريبية. لم تخضع للتدقيق. لا قيمة حقيقية لعملة RAND على testnet
- الترخيص
- GPL-3.0-only، مثل حزم العقدة الكاملة التي يرتبط بها كل عميل
محفظة واحدة، كل منصة
ملف المفتاح نفسه وصيغة العنوان نفسها والقواعد نفسها في كل مكان: المحفظة المنشأة هنا تُستورد إلى أي عميل آخر وإلى واجهة سطر الأوامر rand.