Rand Protocol
Mobile

Rand Wallet pour iOS

Une application SwiftUI native au-dessus du cœur de portefeuille Rust partagé, lié sous forme d'XCFramework. Votre clé de dépense reste dans le Keychain de l'iPhone, derrière Face ID ou Touch ID, et l'application ne communique qu'avec le point de terminaison RPC que vous choisissez.

La fiche sur App Store est en attente. Tant qu'elle n'a pas passé la validation, compilez-la depuis les sources ci-dessous.

Icône de Rand Wallet
Développé avec
Swift · SwiftUI
Distribué via
TestFlight pendant la phase de test, puis l'App Store
Prérequis
iOS 16 ou version ultérieure
Envoi
Prouve sur le téléphone, ou via le prover de RandProtocol
Envoi

Prouve sur le téléphone, ou via le prover de RandProtocol

Sur un téléphone disposant d'environ 8 Go de mémoire, l'application prouve un transfert sur l'appareil. Cela prend une à deux minutes, et le parcours d'envoi garde l'écran allumé et vous demande de laisser l'application ouverte.

Une preuve de lot atteint un pic d'environ 6,2 Go. Sur un téléphone moins bien doté en mémoire, iOS arrêterait l'application en pleine preuve ; l'étape de vérification avant envoi vous avertit donc avec les chiffres propres à l'appareil. Le téléphone utilise alors par défaut le prover de RandProtocol, ou votre propre rand-prover via https (Réglages → Prover), et construit le transfert pendant que le prover produit la preuve.

Un appareil qui ne peut pas produire de preuve utilise par défaut les provers de RandProtocol : quelques machines exploitées par les validateurs (quatre aujourd'hui, sous https://prover.randprotocol.org), sans frais. Depuis la version 0.6.9, chacune possède sa propre clé, que le portefeuille épingle, et le portefeuille vous en informe avant le premier envoi. La machine qui produit la preuve d'un envoi reçoit la clé de visualisation du portefeuille et un sel à usage unique : son opérateur peut lire tout l'historique du portefeuille, chaque paiement reçu et envoyé, mais ne peut pas dépenser. La clé de dépense ne quitte jamais votre appareil, qui produit lui-même la petite preuve d'autorisation. Pour plus de confidentialité, choisissez votre propre prover dans Réglages → Prover ; il est alors toujours préféré, et le portefeuille vérifie chaque preuve avant de la soumettre.

Appairer un prover, pas à pas : docs/prover.md.

Vos clés

Où se trouve la clé

La clé de dépense est l'unique secret du portefeuille. Il n'y a ni compte ni serveur qui en détienne une copie : si vous perdez la clé, personne ne peut la restaurer ; enregistrez-la donc dès que le portefeuille vous l'affiche.

Clé de dépense
Dans le Keychain, accessible uniquement lorsque l'appareil est déverrouillé et jamais synchronisée vers un autre appareil. La clé de visualisation et l'adresse en sont dérivées au déverrouillage et ne sont pas stockées.
Déverrouillage
Face ID ou Touch ID, avec le code de l'appareil en secours. L'application se verrouille à l'issue du délai défini dans Réglages lorsqu'elle passe en arrière-plan, mais jamais pendant une preuve.
Notes
Le magasin de notes est un cache des données de la chaîne, écrit avec une protection de fichier complète : il est illisible tant que le téléphone est verrouillé.
Confidentialité
Le manifeste de confidentialité déclare l'absence de suivi et de collecte de données. Le seul hôte réseau est l'URL RPC que vous configurez, plus randscan.org lorsque vous touchez un lien.
Également

Swap, dans l'application

Depuis la version 0.7.1, les applications mobiles disposent de l'écran Swap que proposent les extensions et l'application de bureau : échangez des RAND et des jetons via les pools de durian.market sans quitter le portefeuille. Le téléphone produit lui-même la preuve de l'appel de programme et l'autorisation de dépense, ce qui demande environ 1,5 Go de mémoire, et les provers de RandProtocol produisent la preuve volumineuse. Le montant que vous recevez est exact ; si le pool bouge avant, rien n'est envoyé et vous obtenez une nouvelle cotation.

Compiler depuis les sources

En attendant la validation de la fiche App Store

  1. Apple n'installe une application qu'à partir de TestFlight ou de l'App Store ; il n'y a donc aucun fichier à télécharger pour iOS.
  2. Compilez-la et lancez-la depuis le dépôt clients dans Xcode 16 ou version ultérieure, sur un simulateur ou sur votre propre appareil.
  3. Les liens randpay: ouvrent l'écran d'envoi pré-rempli ; rien n'est envoyé tant que vous n'avez pas confirmé.

Chaîne d'outils : Rust 1.98.1, épinglé dans le dépôt, que rustup installe. Le guide de compilation couvre chaque client à partir d'une machine vierge. Répertoires des sources : ios/, core/.

Rand Wallet pour iOS
bash
git clone --recurse-submodules https://github.com/randprotocol/clients.git && cd clients
git checkout v0.8.0 && git submodule update --init   # la version publiée ; core/vendor/fullnode @ v0.8.0 (c0878c3)
core/scripts/build-ios.sh   # → ios/Frameworks/RandWalletCore.xcframework
open ios/RandWallet.xcodeproj   # ou compilez avec xcodebuild, ci-dessous

cd ios && xcodebuild -project RandWallet.xcodeproj -scheme RandWallet \
  -destination 'platform=iOS Simulator,name=iPhone 17' build
Tous les clients

Ce qu'il fait, sur toutes les plateformes

Créer un portefeuille
Une clé de dépense générée sur l'appareil, affichée une seule fois pour que vous la sauvegardiez, et l'adresse rand1… qui en est dérivée. Importez une clé existante, ou un wallet.key.json issu de la CLI rand ; tous les clients exportent le même fichier.
Recevoir et envoyer
Votre solde est l'ensemble des notes que seule votre clé peut ouvrir ; le portefeuille parcourt l'arbre d'engagements pour les trouver. Un transfert de RAND ou de n'importe quel jeton RPL répertorié est un seul bundle 4 entrées, 4 sorties, autorisé par une preuve. Personne n'apprend l'expéditeur, le destinataire, le montant ni l'actif déplacé.
Faucet
Sur un testnet doté d'un faucet ouvert, une simple pression crée 100 RAND dans une note que vous seul pouvez ouvrir.
Ne divulguer que ce que vous choisissez
Copiez votre clé de visualisation et ouvrez My history sur RandScan pour voir chaque note que vous avez envoyée ou reçue, ou copiez la clé de transaction d'un paiement pour divulguer exactement ce paiement et rien d'autre. L'explorateur déchiffre dans votre navigateur et n'envoie la clé nulle part.

Les clés de consultation et les clés de transaction s'ouvrent sur randscan.org.

Notes sur le testnet

Avant d'envoyer quoi que ce soit

Chaîne
Le point d'accès public sert la chain 21, en service depuis le 12 Oct 2026 10:31 UTC (issue de fullnode v0.8.0). Le cœur du portefeuille intègre fullnode v0.8.0 (c0878c3) et refuse toute autre chaîne : la chain 21 exécute le constraint set 9, de sorte qu'un portefeuille 0.7.x ne peut pas y envoyer de transactions, et cette version ne peut pas en envoyer sur la chain 20. Les clés et les adresses sont conservées ; un portefeuille qui scannait la chain 20 affiche une seule fois une bannière de chaîne différente, puis relance l'analyse depuis le bloc de genèse de la chain 21. Les dépôts et retraits via le bridge appliquent des frais de 0,1 % en zUSD, que le portefeuille affiche avant le retrait.
Point d'accès RPC
Settings → Network. Par défaut https://rpc.randprotocol.org ; tout RPC rand-node que vous pouvez joindre convient, et une URL enregistrée est vérifiée avant d'être conservée
Génération de preuves
Une preuve de bundle atteint environ 6,2 GB de mémoire au pic et prend environ une minute sur un CPU de portable
Statut
Logiciel testnet expérimental. Non audité. Le RAND sur le testnet n'a aucune valeur réelle
Licence
GPL-3.0-only, comme les crates du nœud complet que chaque client lie
Autres clients

Un portefeuille, toutes les plateformes

Le même fichier de clé, le même format d'adresse et les mêmes règles partout : un portefeuille créé ici s'importe dans tout autre client et dans la CLI rand.