Rand Protocol
Mobile

Rand Wallet für Android

Eine native Java-App auf dem gemeinsamen Rust-Wallet-Kern, der als native Bibliothek geladen wird. Der Spend-Schlüssel ist mit einem Schlüssel verschlüsselt, den der Android Keystore verwahrt, die Sicherung ist abgeschaltet, und Release-Builds sprechen ausschließlich HTTPS.

Der Eintrag im Google Play steht noch aus. Bis er die Prüfung besteht, installieren Sie Version 0.8.0 über den Download unten oder bauen Sie sie aus dem Quellcode.

Symbol von Rand Wallet
Gebaut mit
Java
Vertrieb über
Google Play, zunächst offener Test
Voraussetzung
Android 8 (API 26) oder neuer, arm64 oder x86_64
Senden
Beweist auf dem Telefon oder über den RandProtocol-Prover
Download

Version 0.8.0

Die Dateien hängen am Release v0.8.0 auf GitHub; die Schaltflächen hier sind Links darauf, von dieser Website wird nichts ausgeliefert.

  1. Öffnen Sie die Datei auf dem Telefon und erlauben Sie die Installation, wenn Android danach fragt, oder führen Sie von einem Computer aus adb install darauf aus.
  2. Das Paket ist mit dem eigenen Schlüssel dieses Projekts signiert. Zur Prüfung sollte apksigner verify --print-certs den 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 ausgeben.
  3. Google Play signiert mit einem eigenen Schlüssel. Sobald der Eintrag live ist, bittet Android Sie daher, diese Kopie zu entfernen, bevor es jene installiert. Exportieren Sie zuvor Ihre Schlüsseldatei über die Einstellungen.
Android-Paket (.apk)
arm64 und x86_64 · 11.9 MB
Herunterladen
rand-wallet-0.8.0-android.apk
SHA-256 400d5c4873cc70c7893a4a0bed36eecf261bd1c9bb9578c6544d8ffbf7e976d7
Prüfen Sie, was Sie heruntergeladen haben
SHA256SUMS
# mit SHA256SUMS, im selben Ordner wie die Datei abgelegt
shasum -a 256 -c SHA256SUMS --ignore-missing     # macOS
sha256sum -c SHA256SUMS --ignore-missing         # Linux

# oder geben Sie die Summe einer einzelnen Datei aus und vergleichen Sie sie mit der obigen
shasum -a 256 rand-wallet-0.8.0-android.apk

Eine übereinstimmende Summe besagt, dass die Datei die veröffentlichte ist. Sie besagt nicht, dass die Datei aus dem Quellcode gebaut wurde: Die Builds sind noch nicht bitgenau reproduzierbar. Wenn Sie genau das wissen müssen, bauen Sie sie selbst.

Senden

Beweist auf dem Telefon oder über den RandProtocol-Prover

Auf einem Telefon mit etwa 8 GB Arbeitsspeicher erstellt die App den Beweis für eine Überweisung auf dem Gerät, in einem Vordergrunddienst mit Benachrichtigung, solange er läuft; ein Wechsel der App beendet ihn daher nicht.

Ein Bundle-Beweis erreicht eine Spitze von etwa 6,2 GB. Bei einem Telefon mit weniger Arbeitsspeicher würde Android die App mitten im Beweis beenden, daher warnt der Prüfschritt mit den eigenen Werten des Geräts. Das Telefon nutzt dann standardmäßig den RandProtocol-Prover oder Ihren eigenen rand-prover über https (Einstellungen → Prover) und baut die Überweisung auf, während der Prover den Beweis erstellt.

Ein Gerät, das keinen Beweis erstellen kann, nutzt standardmäßig die RandProtocol-Prover: einige von den Validatoren betriebene Maschinen (heute vier, unter https://prover.randprotocol.org), gebührenfrei. Ab 0.6.9 hat jede ihren eigenen Schlüssel, den die Wallet fest hinterlegt (Pinning), und die Wallet weist vor dem ersten Senden darauf hin. Die Maschine, die einen Sendevorgang beweist, erhält den Viewing-Schlüssel der Wallet und ein einmaliges Salt: Ihr Betreiber kann den gesamten Verlauf der Wallet lesen, jede empfangene und gesendete Zahlung, aber nichts ausgeben. Der Spend-Schlüssel verlässt Ihr Gerät nie; dieses erstellt den kleinen Autorisierungsbeweis selbst. Für mehr Privatsphäre wählen Sie in den Einstellungen → Prover Ihren eigenen Prover, der dann stets bevorzugt wird; die Wallet prüft jeden Beweis, bevor sie ihn übermittelt.

Einen Prover koppeln, Schritt für Schritt: docs/prover.md.

Ihre Schlüssel

Wo der Schlüssel liegt

Der Spend-Schlüssel ist das einzige Geheimnis der Wallet. Es gibt kein Konto und keinen Server, der eine Kopie hält: Geht der Schlüssel verloren, kann ihn niemand wiederherstellen. Sichern Sie ihn daher, sobald die Wallet ihn Ihnen anzeigt.

Spend-Schlüssel
In EncryptedSharedPreferences: AES-256-GCM unter einem Hauptschlüssel, den der Android Keystore verwahrt. Der Viewing-Schlüssel wird nie gespeichert; er wird bei Bedarf abgeleitet.
Entsperren
Biometrische Abfrage, mit den Gerätezugangsdaten als Rückfalloption, und automatische Sperre nach dem in den Einstellungen festgelegten Intervall.
Sicherung
Deaktiviert, sodass der Tresor das Telefon nie über den Sicherungsdienst von Google verlässt.
Notes
Ein app-privater Cache Ihrer Notes und des Transaktionsschlüssels jeder Zahlung, der durch einen erneuten Scan wiederhergestellt wird. Release-Builds lehnen unverschlüsseltes HTTP ab.
Außerdem

Swap, in der App

Ab 0.7.1 haben die Telefon-Apps den Swap-Bildschirm, den die Erweiterungen und die Desktop-App haben: RAND und Tokens über die Pools von durian.market handeln, ohne die Wallet zu verlassen. Das Telefon erstellt den Beweis des Programmaufrufs und die Ausgabeautorisierung selbst, wofür etwa 1,5 GB Arbeitsspeicher nötig sind; den großen Beweis erstellen die RandProtocol-Prover. Der Betrag, den Sie erhalten, ist exakt; bewegt sich zuvor der Pool, wird nichts gesendet, und Sie erhalten ein neues Angebot.

Aus dem Quellcode bauen

Oder selbst bauen

  1. Bauen Sie aus dem Clients-Repository eine Debug-APK und installieren Sie sie mit adb, auf einem Telefon oder auf einem arm64- oder x86_64-Emulator (API 36).
  2. Vom Emulator aus ist ein Node auf Ihrem eigenen Computer http://10.0.2.2:8545; Debug-Builds erlauben unverschlüsseltes HTTP nur zu dieser Adresse und zu localhost.

Toolchain: Rust 1.98.1, im Repository festgelegt und von rustup installiert. Die Build-Anleitung deckt jeden Client auf einer frisch aufgesetzten Maschine ab. Quellverzeichnisse: android/, core/.

Rand Wallet für Android
bash
git clone --recurse-submodules https://github.com/randprotocol/clients.git && cd clients
git checkout v0.8.0 && git submodule update --init   # die Version; 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
Jeder Client

Was sie leistet, auf jeder Plattform

Wallet erstellen
Ein auf dem Gerät erzeugter Spend-Schlüssel, einmalig zur Sicherung angezeigt, und die daraus abgeleitete Adresse rand1…. Importieren Sie einen vorhandenen Schlüssel oder eine wallet.key.json aus der rand-CLI; jeder Client exportiert dieselbe Datei.
Empfangen und senden
Ihr Guthaben ist die Menge der Notes, die nur Ihr Schlüssel öffnen kann; die Wallet durchsucht den Commitment-Baum, um sie zu finden. Eine Überweisung von RAND oder eines beliebigen gelisteten RPL-Tokens ist ein einziges 4-in-4-out-Bundle, autorisiert durch einen Beweis. Niemand erfährt Sender, Empfänger, Betrag oder welcher Vermögenswert bewegt wurde.
Faucet
Auf einem testnet mit offenem Faucet prägt ein Tipp 100 RAND in eine Note, die nur Sie öffnen können.
Nur offenlegen, was Sie wählen
Kopieren Sie Ihren Viewing Key und öffnen Sie Meine Historie auf RandScan, um jede gesendete oder empfangene Note zu sehen, oder kopieren Sie den Transaktionsschlüssel einer einzelnen Zahlung, um genau diese Zahlung offenzulegen und nichts sonst. Der Explorer entschlüsselt in Ihrem Browser und sendet den Schlüssel nie irgendwohin.

Viewing-Schlüssel und Transaktionsschlüssel öffnen sich auf randscan.org.

Hinweise zum testnet

Bevor Sie etwas senden

Chain
Der öffentliche Endpunkt bedient Chain 21, live seit 12. Okt. 2026 10:31 UTC (auf Basis von fullnode v0.8.0 geschnitten). Der Wallet-Kern bindet fullnode v0.8.0 (c0878c3) ein und lehnt jede andere Chain ab: Chain 21 läuft mit Constraint-Set 9, daher kann eine 0.7.x-Wallet darauf nicht senden, und diese Version kann nicht auf Chain 20 senden. Schlüssel und Adressen bleiben erhalten; eine Wallet, die Chain 20 gescannt hat, zeigt einmalig ein Banner „andere Chain“ und scannt erneut ab dem Genesis von Chain 21. Bridge-Einzahlungen und -Abhebungen unterliegen weiterhin einer Gebühr von 0,1 % in zUSD, die die Wallet vor der Abhebung anzeigt.
RPC-Endpunkt
Einstellungen → Network. Standardmäßig https://rpc.randprotocol.org; jeder erreichbare rand-node-RPC funktioniert, und eine gespeicherte URL wird geprüft, bevor sie behalten wird
Beweiserstellung
Ein Bundle-Beweis erreicht eine Spitze von etwa 6,2 GB Speicher und dauert auf einer Laptop-CPU etwa eine Minute
Status
Experimentelle testnet-Software. Nicht geprüft. RAND im testnet hat keinen realen Wert
Lizenz
GPL-3.0-only, wie die Full-Node-Crates, die jeder Client einbindet
Weitere Clients

Eine Wallet, jede Plattform

Dieselbe Schlüsseldatei, dasselbe Adressformat und dieselben Regeln überall: Eine hier erstellte Wallet lässt sich in jeden anderen Client und in die rand-CLI importieren.