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.
- 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
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.
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.
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.
En attendant la validation de la fiche App Store
- 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.
- 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.
- 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/.
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 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.
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
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.