Rand Protocol
Mobilne

Rand Wallet na Androida

Natywna aplikacja w Javie oparta na wspólnym rdzeniu portfela w Rust, ładowanym jako biblioteka natywna. Klucz wydatkowania jest szyfrowany kluczem przechowywanym w Android Keystore, kopia zapasowa jest wyłączona, a wersje wydaniowe łączą się wyłącznie przez HTTPS.

Wpis w Google Play oczekuje na publikację. Do czasu zakończenia weryfikacji zainstaluj wersję 0.8.0 z pliku poniżej albo zbuduj ją ze źródeł.

Ikona Rand Wallet
Zbudowano w
Java
Dystrybucja przez
Google Play, najpierw otwarte testy
Wymaga
Android 8 (API 26) lub nowszy, arm64 lub x86_64
Wysyłanie
Dowód powstaje na telefonie lub za pośrednictwem provera RandProtocol
Pobieranie

Wersja 0.8.0

Pliki są dołączone do wydania v0.8.0 na GitHub; przyciski tutaj są odnośnikami do nich, a z tej witryny nie jest serwowany żaden plik.

  1. Otwórz plik na telefonie i zezwól na instalację, gdy Android o to zapyta, albo uruchom na nim adb install z komputera.
  2. Pakiet jest podpisany kluczem własnym tego projektu. Aby to sprawdzić, apksigner verify --print-certs powinno wypisać 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 podpisuje własnym kluczem, więc gdy wpis będzie aktywny, Android poprosi o usunięcie tej kopii przed zainstalowaniem tamtej. Najpierw wyeksportuj plik z kluczem w Ustawieniach.
Pakiet Androida (.apk)
arm64 i x86_64 · 11.9 MB
Pobierz
rand-wallet-0.8.0-android.apk
SHA-256 400d5c4873cc70c7893a4a0bed36eecf261bd1c9bb9578c6544d8ffbf7e976d7
Sprawdź pobrany plik
SHA256SUMS
# z plikiem SHA256SUMS pobranym do tego samego folderu co plik
shasum -a 256 -c SHA256SUMS --ignore-missing     # macOS
sha256sum -c SHA256SUMS --ignore-missing         # Linux

# albo wypisz sumę jednego pliku i porównaj ją z podaną powyżej
shasum -a 256 rand-wallet-0.8.0-android.apk

Zgodna suma oznacza, że plik jest tym, który został opublikowany. Nie oznacza, że plik zbudowano z kodu źródłowego: kompilacje nie są jeszcze odtwarzalne bit po bicie, więc jeśli właśnie to chcesz wiedzieć, zbuduj go samodzielnie.

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, w usłudze działającej na pierwszym planie z powiadomieniem na czas pracy, więc przełączenie aplikacji jej nie zatrzymuje.

Dowód pakietu osiąga szczyt około 6,2 GB. Na telefonie z mniejszą ilością pamięci Android 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 EncryptedSharedPreferences: AES-256-GCM pod kluczem głównym przechowywanym przez Android Keystore. Klucz podglądu nigdy nie jest przechowywany; jest wyprowadzany w razie potrzeby.
Odblokowanie
Monit biometryczny, z poświadczeniem urządzenia jako rozwiązaniem zapasowym, oraz automatyczna blokada po czasie ustawionym w Ustawieniach.
Kopia zapasowa
Wyłączona, więc skarbiec nigdy nie opuszcza telefonu za pośrednictwem usługi kopii zapasowych Google.
Notatki
Prywatna pamięć podręczna aplikacji z Twoimi notatkami i kluczem transakcji każdej płatności, odbudowywana przez ponowne skanowanie. Wersje wydaniowe odrzucają niezaszyfrowany HTTP.
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ł

Albo zbuduj ją samodzielnie

  1. Zbuduj debugowy plik APK z repozytorium clients i zainstaluj go za pomocą adb, na telefonie lub na emulatorze arm64 albo x86_64 (API 36).
  2. Z emulatora węzeł na Twoim komputerze jest dostępny pod adresem http://10.0.2.2:8545; wersje debugowe dopuszczają niezaszyfrowane połączenia tylko z tym adresem i z localhost.

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: android/, core/.

Rand Wallet na Androida
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-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
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.