Rand Protocol
Mobilne

Rand Wallet na iOS

Natywna aplikacja SwiftUI oparta na wspólnym rdzeniu portfela w Rust, dołączonym jako XCFramework. Klucz wydatkowania pozostaje w pęku kluczy (Keychain) iPhone'a, za Face ID lub Touch ID, a aplikacja łączy się wyłącznie z wybranym przez Ciebie punktem końcowym RPC.

Wpis w App Store oczekuje na publikację. Do czasu zakończenia weryfikacji zbuduj go ze źródeł, poniżej.

Ikona Rand Wallet
Zbudowano w
Swift · SwiftUI
Dystrybucja przez
TestFlight w fazie testów, następnie App Store
Wymaga
iOS 16 lub nowszy
Wysyłanie
Dowód powstaje na telefonie lub za pośrednictwem provera RandProtocol
Wysyłanie

Dowód powstaje na telefonie lub za pośrednictwem provera RandProtocol

Na telefonie z około 8 GB pamięci aplikacja generuje dowód przelewu na urządzeniu. Trwa to minutę lub dwie, a ekran wysyłania nie pozwala wygasić ekranu i prosi o pozostawienie aplikacji otwartej.

Dowód pakietu osiąga szczyt około 6,2 GB. Na telefonie z mniejszą ilością pamięci iOS zatrzymałby aplikację w trakcie generowania dowodu, dlatego krok przeglądu ostrzega, podając wartości z samego urządzenia. Telefon korzysta wówczas domyślnie z providera RandProtocol albo z własnego rand-prover przez https (Ustawienia → Prover) i buduje przelew, podczas gdy prover generuje dowód.

Urządzenie, które nie potrafi wygenerować dowodu, domyślnie korzysta z proverów RandProtocol: kilku maszyn prowadzonych przez walidatorów (obecnie czterech, pod adresem https://prover.randprotocol.org), bez opłat. Od wersji 0.6.9 każdy z nich ma własny klucz, który portfel przypina, a portfel informuje o tym przed pierwszym wysłaniem. Maszyna, która generuje dowód wysyłki, otrzymuje klucz podglądu portfela oraz jednorazową sól: jej operator może odczytać całą historię portfela, każdą płatność otrzymaną i wysłaną, ale nie może niczego wydać. Klucz wydatkowania nigdy nie opuszcza Twojego urządzenia, które samo generuje niewielki dowód autoryzacji. Aby zyskać większą prywatność, wybierz własnego provera w Ustawienia → Prover; jest on wtedy zawsze preferowany, a portfel sprawdza każdy dowód przed jego przesłaniem.

Parowanie provera, krok po kroku: docs/prover.md.

Twoje klucze

Gdzie przechowywany jest klucz

Klucz wydawania (spend key) to jedyny sekret portfela. Nie ma konta ani serwera przechowującego jego kopię: po utracie klucza nikt go nie odtworzy, więc zapisz go, gdy portfel go wyświetli.

Klucz wydatkowania
W pęku kluczy (Keychain), dostępny tylko wtedy, gdy urządzenie jest odblokowane, i nigdy niesynchronizowany z innym urządzeniem. Klucz podglądu i adres są z niego wyprowadzane przy odblokowaniu i nie są przechowywane.
Odblokowanie
Face ID lub Touch ID, z kodem urządzenia jako rozwiązaniem zapasowym. Aplikacja blokuje się po czasie ustawionym w Ustawieniach, gdy przechodzi w tło, ale nigdy w trakcie generowania dowodu.
Notatki
Magazyn notatek jest pamięcią podręczną danych z łańcucha, zapisywaną z pełną ochroną plików, więc jest nieczytelny, gdy telefon jest zablokowany.
Prywatność
Manifest prywatności deklaruje brak śledzenia i brak zbieranych danych. Jedynym hostem sieciowym jest skonfigurowany przez Ciebie adres RPC oraz randscan.org, gdy dotkniesz odnośnika.
Także

Swap w aplikacji

Od wersji 0.7.1 aplikacje na telefony mają ekran Swap, który znają rozszerzenia i aplikacja na komputer: handluj RAND i tokenami przez pule durian.market, nie opuszczając portfela. Telefon samodzielnie generuje dowód wywołania programu i autoryzację wydatku, co wymaga około 1,5 GB pamięci, a duży dowód generują provery RandProtocol. Otrzymywana kwota jest dokładna; jeśli pula zmieni się wcześniej, nic nie zostaje wysłane i otrzymasz nową wycenę.

Zbuduj ze źródeł

Do czasu zatwierdzenia wpisu w App Store

  1. Apple instaluje aplikację wyłącznie z TestFlight lub App Store, więc dla iOS nie ma pliku do pobrania.
  2. Zbuduj i uruchom ją z repozytorium clients w Xcode 16 lub nowszym, na symulatorze lub na własnym urządzeniu.
  3. Odnośniki randpay: otwierają ekran wysyłania z wypełnionymi polami; nic nie zostaje wysłane, dopóki nie potwierdzisz.

Zestaw narzędzi: Rust 1.98.1, przypięty w repozytorium i instalowany przez rustup. Przewodnik budowania obejmuje każdego klienta, zaczynając od czystej maszyny. Katalogi ze źródłami: ios/, core/.

Rand Wallet na iOS
bash
git clone --recurse-submodules https://github.com/randprotocol/clients.git && cd clients
git checkout v0.8.0 && git submodule update --init   # wydanie; core/vendor/fullnode @ v0.8.0 (c0878c3)
core/scripts/build-ios.sh   # → ios/Frameworks/RandWalletCore.xcframework
open ios/RandWallet.xcodeproj   # lub zbuduj za pomocą xcodebuild, poniżej

cd ios && xcodebuild -project RandWallet.xcodeproj -scheme RandWallet \
  -destination 'platform=iOS Simulator,name=iPhone 17' build
Każdy klient

Co robi na każdej platformie

Utwórz portfel
Klucz wydawania generowany na urządzeniu, pokazany jednorazowo do zapisania, oraz wyprowadzony z niego adres rand1…. Zaimportuj istniejący klucz lub wallet.key.json z rand CLI; każdy klient eksportuje ten sam plik.
Odbieraj i wysyłaj
Twoje saldo to zbiór notatek, które może otworzyć tylko Twój klucz; portfel skanuje drzewo zobowiązań, aby je znaleźć. Transfer RAND lub dowolnego tokena RPL z listy to jeden pakiet 4-in-4-out autoryzowany dowodem. Nikt nie dowiaduje się, kto jest nadawcą, kto odbiorcą, jaka kwota ani który składnik majątku został przesłany.
Faucet
W testnet z otwartym faucetem jedno dotknięcie wybija 100 RAND do notatki, którą może otworzyć tylko Ty.
Ujawniaj tylko to, co wybierzesz
Skopiuj swój klucz podglądu i otwórz My history w RandScan, aby zobaczyć każdą notatkę wysłaną lub otrzymaną, albo skopiuj klucz transakcji jednej płatności, aby ujawnić dokładnie tę płatność i nic więcej. Eksplorator odszyfrowuje w Twojej przeglądarce i nigdzie nie wysyła klucza.

Klucze podglądu i klucze transakcji otwierają się w randscan.org.

Uwagi o testnecie

Zanim cokolwiek wyślesz

Łańcuch
Publiczny punkt końcowy obsługuje chain 21, działający od 12 Oct 2026 10:31 UTC (wydany na fullnode v0.8.0). Rdzeń portfela dołącza fullnode v0.8.0 (c0878c3) jako zależność vendorowaną i odrzuca każdy inny chain: chain 21 działa na zestawie ograniczeń 9, więc portfel 0.7.x nie może na nim wysyłać, a to wydanie nie może wysyłać na chain 20. Klucze i adresy są przenoszone; portfel, który skanował chain 20, raz wyświetla baner o innym chain i ponownie skanuje od bloku genezy chain 21. Wpłaty i wypłaty przez most mają opłatę 0,1% w zUSD, którą portfel pokazuje przed wypłatą.
Endpoint RPC
Settings → Network. Domyślnie https://rpc.randprotocol.org; działa każdy rand-node RPC, do którego masz dostęp, a zapisany adres URL jest sprawdzany, zanim zostanie zachowany
Dowodzenie
Dowód pakietu osiąga szczyt około 6,2 GB pamięci i trwa około minuty na procesorze laptopa
Status
Eksperymentalne oprogramowanie testnet. Bez audytu. RAND w testnet nie ma realnej wartości
Licencja
GPL-3.0-only, tak jak crate'y pełnego węzła, które linkuje każdy klient
Inni klienci

Jeden portfel, każda platforma

Ten sam plik klucza, ten sam format adresu i te same zasady wszędzie: portfel utworzony tutaj importuje się do każdego innego klienta i do CLI rand.