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.
- 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
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.
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.
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ę.
Do czasu zatwierdzenia wpisu w App Store
- Apple instaluje aplikację wyłącznie z TestFlight lub App Store, więc dla iOS nie ma pliku do pobrania.
- Zbuduj i uruchom ją z repozytorium clients w Xcode 16 lub nowszym, na symulatorze lub na własnym urządzeniu.
- 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/.
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 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.
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
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.