Rand Wallet برای Firefox
همان افزونهٔ نسخهٔ Chrome، از همان کد، که برای Firefox بستهبندی شده است. هیچ بخشی از آن minify یا bundle نشده است؛ پس کدی که Mozilla بررسی میکند همان کدی است که شما اجرا میکنید.
فهرستشدن در Firefox Add-ons هنوز در انتظار است. تا زمانی که بازبینی آن به پایان برسد، نسخهٔ 0.8.0 را از دانلود زیر نصب کنید یا آن را از سورس بسازید.
- ساختهشده با
- JavaScript · Manifest V3
- توزیع از طریق
- addons.mozilla.org
- نیازمندیها
- Firefox 140 یا بالاتر
- ارسال
- ارسال از طریق prover شبکهٔ RandProtocol یا prover خودتان
نسخهٔ 0.8.0
فایلها به انتشار v0.8.0 در GitHub پیوست شدهاند؛ دکمههای اینجا پیوند به آنها هستند و هیچ چیزی از این سایت ارائه نمیشود.
- about:debugging را باز کنید، This Firefox → Load Temporary Add-on… را انتخاب کنید و فایل zip را برگزینید.
- افزونهٔ موقت با راهاندازی مجدد Firefox حذف میشود. نسخهٔ Release در 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 تطابق مجموعکنترلی نشان میدهد که فایل همان چیزی است که منتشر شده است. این نشان نمیدهد که فایل از روی سورس ساخته شده است: بیلدها هنوز بیتبهبیت بازتولیدپذیر نیستند، بنابراین اگر میخواهید این را بدانید، خودتان آن را بسازید.
ارسال از طریق prover شبکهٔ RandProtocol یا prover خودتان
اثبات یک بسته در اوج به حدود 6.2 GB حافظه نیاز دارد و مرورگر فقط 4 GiB به WebAssembly میدهد؛ بنابراین افزونه هرگز خودش اثبات نمیسازد. افزونه تراکنش را میسازد، اثبات را به یک prover میسپارد (بهطور پیشفرض prover شبکهٔ RandProtocol یا proverی که شما جفت کردهاید)، اثبات را بهصورت محلی وارسی میکند و آن را ارسال میکند.
بهطور پیشفرض، پس از یک اعلان یکباره، از prover شبکهٔ RandProtocol استفاده میکند. برای اینکه تاریخچهٔ شما نزد آن نماند، برنامهٔ دسکتاپ Rand Wallet را روی همین رایانه جفت کنید (از بخش Settings → Prove for my other devices آن، سپس پیوند را در Settings → Prover افزونه جایگذاری کنید) یا از rand-prover خودتان روی یک سرور استفاده کنید.
دستگاهی که نتواند اثبات بسازد، بهطور پیشفرض از proverهای شبکهٔ RandProtocol استفاده میکند: چند ماشین که validatorها اداره میکنند (امروز چهار ماشین، در https://prover.randprotocol.org)، بدون کارمزد. از نسخهٔ 0.6.9 هر کدام کلید خاص خود را دارد که کیف پول آن را ثابت (pin) میکند، و کیف پول پیش از نخستین ارسال این را اعلام میکند. ماشینی که یک ارسال را اثبات میکند، viewing key کیف پول و یک salt یکبارمصرف را دریافت میکند: اپراتور آن میتواند کل تاریخچهٔ کیف پول، یعنی هر پرداخت دریافتی و ارسالی، را بخواند، اما نمیتواند خرج کند. کلید خرج (spend key) هرگز دستگاه شما را ترک نمیکند و خود دستگاه، اثبات کوچک مجوز را میسازد. برای حریم خصوصی بیشتر، در Settings → Prover، prover خودتان را انتخاب کنید که از آن پس همیشه ترجیح داده میشود؛ کیف پول هر اثبات را پیش از ارسال وارسی میکند.
جفتسازی یک prover، گامبهگام: docs/prover.md.
کلید کجا نگهداری میشود
کلید خرجکردن تنها رازِ کیفپول است. هیچ حساب کاربری یا سروری که نسخهای از آن را نگه دارد وجود ندارد: اگر کلید را گم کنید هیچکس نمیتواند آن را بازیابی کند؛ پس وقتی کیفپول آن را نشانتان میدهد، ذخیرهاش کنید.
مبادله، و window.rand برای سایتهای Rand
صفحهٔ مبادلهٔ (Swap) خود کیف پول، RAND و توکنها را از طریق استخرهای durian.market معامله میکند: مقدار دقیق را از استخر روی زنجیره استعلام میکند، سپس خودش مبادله را اثبات و ارسال میکند، و durian.market میتواند همان مبادله را از طریق window.rand.invoke درخواست کند.
randbridge.org افزونه را بهصورت window.rand پیدا میکند و میتواند درخواست اتصال بدهد. اتصال به یک کیف پول بازشده و تأیید شما برای آن سایت نیاز دارد، و سایت متصلشده فقط نشانی شما و هش گیرندهٔ پل (bridge recipient hash) آن را میفهمد، نه چیزی بیشتر.
یا خودتان آن را بسازید
- افزونه را از مخزن 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 از CLI مربوط به rand؛ هر کلاینت همین فایل را صادر میکند.
- دریافت و ارسال
- موجودی شما مجموعهی noteهایی است که فقط کلید شما میتواند بازشان کند؛ کیفپول درخت تعهد را پویش میکند تا آنها را بیابد. انتقال RAND یا هر توکن RPL فهرستشده یک bundle چهار-ورودی چهار-خروجی است که یک اثبات آن را مجاز میکند. هیچکس فرستنده، گیرنده، مبلغ یا دارایی جابهجاشده را نمیفهمد.
- Faucet
- روی یک testnet با faucet باز، یک ضربه ۱۰۰ RAND را در یک note میریزد که فقط شما میتوانید بازش کنید.
- فقط آنچه میخواهید افشا کنید
- کلید مشاهدهی خود را کپی کنید و My history را در RandScan باز کنید تا هر note را که فرستاده یا دریافت کردهاید ببینید، یا کلید تراکنش یک پرداخت را کپی کنید تا دقیقاً همان پرداخت و هیچ چیز دیگر را افشا کنید. explorer در مرورگر شما رمزگشایی میکند و کلید را هرگز به جایی نمیفرستد.
کلیدهای مشاهده و کلیدهای تراکنش در randscan.org باز میشوند.
پیش از ارسال هر چیزی
- زنجیره
- نقطهٔ پایانی عمومی، زنجیرهٔ ۲۱ را سرویس میدهد که از 12 Oct 2026 10:31 UTC فعال است (بر پایهٔ fullnode v0.8.0 ساخته شده). هستهٔ کیف پول، fullnode v0.8.0 (c0878c3) را vendor میکند و هر زنجیرهٔ دیگری را رد میکند: زنجیرهٔ ۲۱ با مجموعهٔ قیود ۹ اجرا میشود، بنابراین کیف پول 0.7.x نمیتواند روی آن ارسال کند و این نسخه نمیتواند روی زنجیرهٔ ۲۰ ارسال کند. کلیدها و نشانیها منتقل میشوند؛ کیف پولی که زنجیرهٔ ۲۰ را اسکن کرده بود، یک بار بنر «زنجیرهٔ متفاوت» را نشان میدهد و از ژنزیس زنجیرهٔ ۲۱ دوباره اسکن میکند. واریزها و برداشتهای پل، کارمزد 0.1% به zUSD را حفظ میکنند که کیف پول پیش از برداشت نشان میدهد.
- نقطهی پایانی RPC
- Settings → Network. پیشفرض https://rpc.randprotocol.org است؛ هر RPC از rand-node که به آن دسترسی دارید کار میکند، و نشانی ذخیرهشده پیش از نگهداشتن بررسی میشود
- اثباتسازی
- اثبات یک bundle در اوج حدود ۶٫۲ گیگابایت حافظه مصرف میکند و روی پردازندهی یک لپتاپ حدود یک دقیقه طول میکشد
- وضعیت
- نرمافزار آزمایشی testnet. ممیزی نشده است. RAND روی testnet ارزش واقعی ندارد
- پروانه
- GPL-3.0-only، مانند crateهای full node که هر کلاینت به آنها پیوند میخورد
یک کیفپول، هر پلتفرم
همان فایل کلید، قالب نشانی و قواعد در همهجا: کیفپولی که اینجا ساخته شود در هر کلاینت دیگر و در CLI rand وارد میشود.