Rand Protocol
موبایل

Rand Wallet برای Android

یک اپلیکیشن بومی Java روی هستهٔ مشترک کیف پول به زبان Rust که به‌صورت کتابخانهٔ بومی بارگذاری می‌شود. کلید خرج زیر کلیدی رمزگذاری می‌شود که Keystore اندروید نگه می‌دارد، پشتیبان‌گیری خاموش است و نسخه‌های منتشرشده فقط با HTTPS ارتباط برقرار می‌کنند.

فهرست‌شدن در Google Play هنوز در انتظار است. تا زمانی که بازبینی آن به پایان برسد، نسخهٔ 0.8.0 را از دانلود زیر نصب کنید یا آن را از سورس بسازید.

آیکون Rand Wallet
ساخته‌شده با
Java
توزیع از طریق
Google Play، ابتدا با آزمایش باز
نیازمندی‌ها
Android 8 (API 26) یا جدیدتر، arm64 یا x86_64
ارسال
روی گوشی اثبات می‌سازد، یا از طریق اثبات‌گر RandProtocol
دانلود

نسخهٔ 0.8.0

فایل‌ها به انتشار v0.8.0 در GitHub پیوست شده‌اند؛ دکمه‌های اینجا پیوند به آن‌ها هستند و هیچ چیزی از این سایت ارائه نمی‌شود.

  1. فایل را روی گوشی باز کنید و وقتی Android پرسید نصب را مجاز کنید، یا از رایانه روی آن adb install اجرا کنید.
  2. بسته با کلید اختصاصی همین پروژه امضا شده است. برای بررسی، apksigner verify --print-certs باید SHA-256 75:22:2E:BF:22:D3:95:80:A5:11:2A:AC:B7:EC:2E:03:93:91:07:77:96:E0:45:1D:7B:CF:E3:7E:FA:06:53:52 را چاپ کند.
  3. Google Play با کلید خودش امضا می‌کند؛ بنابراین وقتی فهرست آنجا فعال شود، Android از شما می‌خواهد پیش از نصب آن نسخه، این نسخه را حذف کنید. ابتدا فایل کلید خود را از تنظیمات صادر کنید.
بستهٔ Android (.apk)
arm64 و x86_64 · 11.9 MB
دانلود
rand-wallet-0.8.0-android.apk
SHA-256 400d5c4873cc70c7893a4a0bed36eecf261bd1c9bb9578c6544d8ffbf7e976d7
فایل دانلودشده را بررسی کنید
SHA256SUMS
# با SHA256SUMS که در همان پوشه‌ای که فایل قرار دارد دانلود شده باشد
shasum -a 256 -c SHA256SUMS --ignore-missing     # macOS
sha256sum -c SHA256SUMS --ignore-missing         # Linux

# یا مجموع‌کنترلی یک فایل را چاپ کنید و آن را با مقدار بالا مقایسه کنید
shasum -a 256 rand-wallet-0.8.0-android.apk

تطابق مجموع‌کنترلی نشان می‌دهد که فایل همان چیزی است که منتشر شده است. این نشان نمی‌دهد که فایل از روی سورس ساخته شده است: بیلدها هنوز بیت‌به‌بیت بازتولیدپذیر نیستند، بنابراین اگر می‌خواهید این را بدانید، خودتان آن را بسازید.

ارسال

روی گوشی اثبات می‌سازد، یا از طریق اثبات‌گر RandProtocol

روی گوشی‌ای با حدود ۸ گیگابایت حافظه، اپلیکیشن اثبات انتقال را روی خود دستگاه می‌سازد، در یک سرویس پیش‌زمینه که تا پایان کار اعلانی نشان می‌دهد؛ بنابراین جابه‌جا شدن بین اپلیکیشن‌ها آن را متوقف نمی‌کند.

اثبات یک بسته در اوج به حدود ۶٫۲ گیگابایت حافظه نیاز دارد. روی گوشی‌ای با حافظهٔ کمتر، Android اپلیکیشن را در میانهٔ اثبات متوقف می‌کرد؛ از این رو مرحلهٔ بازبینی با اعداد خود دستگاه هشدار می‌دهد. در این حالت گوشی به‌طور پیش‌فرض از اثبات‌گر RandProtocol یا از rand-prover خودتان روی https (تنظیمات ← اثبات‌گر) استفاده می‌کند و در حالی که اثبات‌گر اثبات را می‌سازد، انتقال را خودش می‌سازد.

دستگاهی که نتواند اثبات بسازد، به‌طور پیش‌فرض از اثبات‌گرهای RandProtocol استفاده می‌کند: چند ماشین که اعتبارسنج‌ها اداره می‌کنند (امروز چهار ماشین، زیر https://prover.randprotocol.org) و بدون کارمزد. از نسخهٔ 0.6.9 هر کدام کلید مخصوص خود را دارد که کیف پول آن را سنجاق می‌کند و کیف پول پیش از نخستین ارسال این را اعلام می‌کند. ماشینی که یک ارسال را اثبات می‌کند، کلید مشاهدهٔ کیف پول و یک سالت یک‌بارمصرف را دریافت می‌کند: اپراتور آن می‌تواند کل تاریخچهٔ کیف پول، یعنی هر پرداخت دریافتی و ارسالی را بخواند، اما نمی‌تواند خرج کند. کلید خرج هرگز دستگاه شما را ترک نمی‌کند و خود دستگاه اثبات کوچک مجوز را می‌سازد. برای حریم خصوصی بیشتر، اثبات‌گر خودتان را در تنظیمات ← اثبات‌گر انتخاب کنید؛ از آن پس همیشه همان ترجیح داده می‌شود. کیف پول هر اثبات را پیش از ارسال بررسی می‌کند.

جفت‌سازی یک prover، گام‌به‌گام: docs/prover.md.

کلیدهای شما

کلید کجا نگهداری می‌شود

کلید خرج‌کردن تنها رازِ کیف‌پول است. هیچ حساب کاربری یا سروری که نسخه‌ای از آن را نگه دارد وجود ندارد: اگر کلید را گم کنید هیچ‌کس نمی‌تواند آن را بازیابی کند؛ پس وقتی کیف‌پول آن را نشانتان می‌دهد، ذخیره‌اش کنید.

کلید خرج
در EncryptedSharedPreferences: AES-256-GCM زیر یک کلید اصلی که Keystore اندروید نگه می‌دارد. کلید مشاهده هرگز ذخیره نمی‌شود؛ هر وقت لازم باشد مشتق می‌شود.
باز کردن قفل
درخواست زیست‌سنجی، با اعتبارنامهٔ دستگاه به‌عنوان جایگزین، و قفل خودکار پس از فاصلهٔ زمانی تعیین‌شده در تنظیمات.
پشتیبان‌گیری
غیرفعال است، بنابراین گاوصندوق از طریق سرویس پشتیبان‌گیری Google هرگز گوشی را ترک نمی‌کند.
یادداشت‌ها
حافظهٔ نهان خصوصی اپلیکیشن برای یادداشت‌های شما و کلید تراکنش هر پرداخت که با یک بازاسکن بازسازی می‌شود. نسخه‌های منتشرشده HTTP بدون رمزگذاری را رد می‌کنند.
همچنین

مبادله، درون اپلیکیشن

از نسخهٔ 0.7.1 اپلیکیشن‌های گوشی همان صفحهٔ مبادله‌ای را دارند که افزونه‌ها و اپلیکیشن دسکتاپ دارند: RAND و توکن‌ها را از طریق استخرهای durian.market بدون ترک کیف پول معامله کنید. گوشی اثبات فراخوانی برنامه و مجوز خرج را خودش می‌سازد که حدود ۱٫۵ گیگابایت حافظه می‌خواهد، و اثبات‌گرهای RandProtocol اثبات بزرگ را می‌سازند. مقداری که دریافت می‌کنید دقیق است؛ اگر استخر پیش از شما تغییر کند، چیزی ارسال نمی‌شود و قیمت تازه‌ای دریافت می‌کنید.

ساخت از سورس

یا خودتان بسازید

  1. یک APK اشکال‌زدایی از مخزن clients بسازید و با adb روی گوشی یا روی شبیه‌ساز arm64 یا x86_64 (API 36) نصب کنید.
  2. از درون شبیه‌ساز، نودی که روی رایانهٔ خودتان است http://10.0.2.2:8545 است؛ نسخه‌های اشکال‌زدایی فقط به آن نشانی و به localhost اجازهٔ ارتباط بدون رمزگذاری می‌دهند.

زنجیرهٔ ابزار: Rust 1.98.1، که در مخزن پین شده است و rustup آن را نصب می‌کند. راهنمای ساخت همهٔ کلاینت‌ها را از یک دستگاه تمیز پوشش می‌دهد. پوشه‌های سورس: android/, core/.

Rand Wallet برای Android
bash
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-android.sh   # → android/app/src/main/jniLibs/ (JDK 17, SDK 36, NDK 27)
cd android && ./gradlew assembleDebug   # → app/build/outputs/apk/debug/app-debug.apk
adb install -r app/build/outputs/apk/debug/app-debug.apk
همهٔ کلاینت‌ها

کارهایی که انجام می‌دهد، روی هر پلتفرم

ساخت کیف‌پول
یک کلید خرج‌کردن که روی دستگاه تولید می‌شود و یک بار نشان داده می‌شود تا ذخیره‌اش کنید، و نشانی rand1… که از آن مشتق می‌شود. یک کلید موجود را وارد کنید، یا یک wallet.key.json از CLI مربوط به rand؛ هر کلاینت همین فایل را صادر می‌کند.
دریافت و ارسال
موجودی شما مجموعه‌ی note‌هایی است که فقط کلید شما می‌تواند بازشان کند؛ کیف‌پول درخت تعهد را پویش می‌کند تا آن‌ها را بیابد. انتقال RAND یا هر توکن RPL فهرست‌شده یک bundle چهار-ورودی چهار-خروجی است که یک اثبات آن را مجاز می‌کند. هیچ‌کس فرستنده، گیرنده، مبلغ یا دارایی جابه‌جاشده را نمی‌فهمد.
Faucet
روی یک testnet با faucet باز، یک ضربه ۱۰۰ RAND را در یک note می‌ریزد که فقط شما می‌توانید بازش کنید.
فقط آنچه می‌خواهید افشا کنید
کلید مشاهده‌ی خود را کپی کنید و My history را در RandScan باز کنید تا هر note را که فرستاده یا دریافت کرده‌اید ببینید، یا کلید تراکنش یک پرداخت را کپی کنید تا دقیقاً همان پرداخت و هیچ چیز دیگر را افشا کنید. explorer در مرورگر شما رمزگشایی می‌کند و کلید را هرگز به جایی نمی‌فرستد.

کلیدهای مشاهده و کلیدهای تراکنش در randscan.org باز می‌شوند.

نکات testnet

پیش از ارسال هر چیزی

زنجیره
نقطهٔ پایانی عمومی، زنجیرهٔ ۲۱ را سرویس می‌دهد که از 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 وارد می‌شود.