Rand Wallet على الويب
المحفظة نفسها في تبويب متصفح عادي، يقدّمها من جهازك خادم صغير يعمل على الواجهة المحلية (loopback) فقط. وهي غير مستضافة في أي مكان عن قصد: فالمحفظة على الويب لا تزيد موثوقيتها على موثوقية الأصل الذي يقدّمها، وهذه تقدّمها أنت.
غير مستضافة في أي مكان. شغّلها من نسخة مُستنسخة من مستودع العملاء، أو من أرشيف المصدر، أدناه.
- مبني باستخدام
- JavaScript · نواة WebAssembly
- يُوزَّع عبر
- نسخة من مستودع العملاء، تُقدَّم على جهازك أنت
- المتطلبات
- Node 20 أو أحدث؛ ومتصفح حديث
- الإرسال
- يرسل عبر المُثبِت (prover) الخاص بـ RandProtocol، أو عبر مُثبِتك أنت
الإصدار 0.8.0
الملفات مرفقة بـإصدار v0.8.0 على GitHub؛ والأزرار هنا روابط إليها، ولا يُقدَّم شيء من هذا الموقع.
- فُكّ ضغطه وشغّل web/wallet/serve.sh داخله، تمامًا كما في نسخة git. يحتوي الأرشيف على الوحدة الفرعية للعقدة الكاملة، وهي ما تتركه أرشيفات “Source code” الخاصة بـ GitHub.
# باستخدام SHA256SUMS المنزَّل في المجلد نفسه الذي يوجد فيه الملف
shasum -a 256 -c SHA256SUMS --ignore-missing # macOS
sha256sum -c SHA256SUMS --ignore-missing # Linux
# أو اطبع المجموع الاختباري لملف واحد وقارنه بالقيمة الموضحة أعلاه
shasum -a 256 rand-wallet-0.8.0-source.tar.gz المجموع الاختباري المطابق يعني أن الملف هو الذي نُشر. ولا يعني أن الملف بُني من المصدر: فالإصدارات المبنية غير قابلة لإعادة الإنتاج بت لبت حتى الآن، لذا إن كان هذا ما تريد معرفته، فـابنِه بنفسك.
يرسل عبر المُثبِت (prover) الخاص بـ RandProtocol، أو عبر مُثبِتك أنت
يبلغ استهلاك إثبات الحزمة ذروته عند نحو 6.2 GB من الذاكرة، بينما يمنح المتصفح WebAssembly مقدار 4 GiB، لذا لا تُنشئ المحفظة على الويب الإثبات بنفسها أبدًا. فهي تبني التحويل، وتكلّف مُثبِتًا (prover) بإنشاء الإثبات (مُثبِت RandProtocol افتراضيًا، أو مُثبِت تقترنه بها)، ثم تتحقق من الإثبات محليًا وترسله.
لإبقاء سجلك بعيدًا عن مُثبِت RandProtocol، اقرن تطبيق Rand Wallet لسطح المكتب على الحاسوب نفسه (Settings → Prove for my other devices) أو rand-prover الخاص بك. والإثبات الجاري يعيش في ذاكرة التبويب فقط؛ فإعادة تحميل الصفحة في منتصف الإثبات تنسيه ولا يُرسَل شيء.
يستخدم الجهاز العاجز عن إنشاء إثبات مُثبِتات RandProtocol افتراضيًا: بضعة أجهزة يشغّلها المدقّقون (validators)، أربعة حاليًا، تحت https://prover.randprotocol.org، دون رسوم. ابتداءً من 0.6.9 لكلٍّ منها مفتاحه الخاص الذي تثبّته المحفظة، وتُبلغك المحفظة بذلك قبل أول عملية إرسال. يتلقى الجهاز الذي يُنشئ إثبات عملية الإرسال مفتاح العرض الخاص بالمحفظة وملحًا يُستخدم مرة واحدة: يستطيع مشغّله قراءة سجل المحفظة كاملًا، أي كل دفعة مستلمة ومرسلة، ولا يستطيع الإنفاق. أما مفتاح الإنفاق فلا يغادر جهازك أبدًا، وجهازك هو الذي يُنشئ إثبات التفويض الصغير نفسه. وللمزيد من الخصوصية اختر مُثبِتك الخاص في Settings → Prover، فيكون عندئذ مفضّلًا دائمًا؛ وتفحص المحفظة كل إثبات قبل أن ترسله.
إقران مُثبِت (prover) خطوة بخطوة: docs/prover.md.
أين يقيم المفتاح
مفتاح الإنفاق هو السر الوحيد للمحفظة. لا يوجد حساب ولا خادم يحتفظ بنسخة: إن فقدت المفتاح فلن يستطيع أحد استعادته، فاحفظه عندما تعرضه المحفظة عليك.
شغّلها من نسخة مستنسخة
- استنسخ مستودع العملاء وشغّل web/wallet/serve.sh، ثم افتح http://127.0.0.1:8787/. يبني التشغيل الأول نواة WebAssembly ويستغرق بضع دقائق؛ وبعد ذلك يكون البدء مجرد نسخ ملف.
- إذا وجدت Rand Wallet على عنوان بعيد ما، فثق به بقدر ما تثق بمن يشغّل ذلك الخادم تمامًا. وفي كل ما يهم، استخدم تطبيق سطح المكتب أو إضافة المتصفح.
سلسلة الأدوات: Rust 1.98.1، مثبّتة في المستودع، ويثبّتها rustup. دليل البناء يغطي كل عميل انطلاقًا من جهاز نظيف. أدلة المصدر: web/wallet/, 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)
web/wallet/serve.sh # ابنِ، ثم قدّم على http://127.0.0.1:8787/
RAND_WALLET_PORT=9000 web/wallet/serve.sh # على منفذ آخر ما يفعله، على كل منصة
- إنشاء محفظة
- مفتاح إنفاق يُولَّد على الجهاز ويُعرض مرة واحدة لتحفظه، وعنوان 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.