Rand Protocol
موبایل

Rand Wallet برای iOS

یک اپلیکیشن بومی SwiftUI روی هستهٔ مشترک کیف پول به زبان Rust که به‌صورت XCFramework پیوند خورده است. کلید خرج شما پشت Face ID یا Touch ID در Keychain آیفون می‌ماند و اپلیکیشن فقط با نقطهٔ پایانی RPC که شما برمی‌گزینید ارتباط برقرار می‌کند.

فهرست‌شدن در App Store هنوز در انتظار است. تا زمانی که بازبینی آن به پایان برسد، آن را از سورس، در پایین، بسازید.

آیکون Rand Wallet
ساخته‌شده با
Swift · SwiftUI
توزیع از طریق
در دوران آزمایش از طریق TestFlight، سپس App Store
نیازمندی‌ها
iOS 16 یا جدیدتر
ارسال
روی گوشی اثبات می‌سازد، یا از طریق اثبات‌گر RandProtocol
ارسال

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

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

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

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

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

کلیدهای شما

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

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

کلید خرج
در Keychain، فقط تا زمانی که دستگاه باز است در دسترس است و هرگز با دستگاه دیگری همگام‌سازی نمی‌شود. کلید مشاهده و نشانی هنگام باز کردن قفل از آن مشتق می‌شوند و ذخیره نمی‌شوند.
باز کردن قفل
Face ID یا Touch ID، با گذرکد دستگاه به‌عنوان جایگزین. وقتی اپلیکیشن به پس‌زمینه می‌رود، پس از فاصلهٔ زمانی تعیین‌شده در تنظیمات قفل می‌شود، اما هرگز در میانهٔ اثبات قفل نمی‌شود.
یادداشت‌ها
ذخیره‌گاه یادداشت‌ها حافظهٔ نهان دادهٔ زنجیره است و با حفاظت کامل فایل نوشته می‌شود، به‌طوری که تا وقتی گوشی قفل است خوانا نیست.
حریم خصوصی
مانیفست حریم خصوصی اعلام می‌کند که هیچ ردیابی و هیچ جمع‌آوری داده‌ای وجود ندارد. تنها میزبان شبکه، نشانی RPC است که شما پیکربندی می‌کنید، به‌علاوهٔ randscan.org وقتی روی پیوندی بزنید.
همچنین

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

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

ساخت از سورس

تا زمانی که فهرست App Store تأیید شود

  1. Apple فقط از TestFlight یا App Store اپلیکیشن نصب می‌کند، بنابراین برای iOS فایلی برای دانلود وجود ندارد.
  2. آن را از مخزن clients در Xcode 16 یا جدیدتر، روی شبیه‌ساز یا دستگاه خودتان بسازید و اجرا کنید.
  3. پیوندهای randpay: صفحهٔ ارسال را از پیش پر شده باز می‌کنند؛ تا تأیید نکنید چیزی ارسال نمی‌شود.

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

Rand Wallet برای iOS
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-ios.sh   # → ios/Frameworks/RandWalletCore.xcframework
open ios/RandWallet.xcodeproj   # یا با xcodebuild بسازید، در ادامه

cd ios && xcodebuild -project RandWallet.xcodeproj -scheme RandWallet \
  -destination 'platform=iOS Simulator,name=iPhone 17' build
همهٔ کلاینت‌ها

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

ساخت کیف‌پول
یک کلید خرج‌کردن که روی دستگاه تولید می‌شود و یک بار نشان داده می‌شود تا ذخیره‌اش کنید، و نشانی 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 وارد می‌شود.