Rand Protocol
Documentación
Ecosistema

Clientes en todos los dispositivos

El Rand Wallet en iPhone, Android, portátiles, equipos de escritorio y el navegador: un único núcleo en Rust, construido con los propios crates del nodo completo, en cada dispositivo; cuáles de ellos generan por sí mismos la prueba de una transferencia y cuáles entregan la prueba del paquete a un prover, dónde conserva cada uno la clave de gasto y cómo llegan todos a la red.

Use esta página para ver qué se ejecuta en cada tipo de dispositivo y por qué las wallets se comportan de forma distinta. Cada Rand Wallet es la misma wallet con una interfaz distinta. Un único núcleo en Rust, construido a partir de los propios crates del full node, custodia las claves y realiza la criptografía en todos los dispositivos. La única diferencia real es la memoria: una prueba de lote alcanza un pico de unos 6 GB. Un equipo de escritorio o un teléfono grande la genera en el momento, y cualquier dispositivo más pequeño delega esa prueba en un prover. Las descargas y los pasos de compilación de cada cliente están en /clients.

Rand Wallet clients and the network Five devices: iPhone, Android phone, laptop, desktop and browser. Each runs the same Rust core, packaged as an XCFramework, a native library, a linked crate in the desktop app, or WebAssembly. Phones prove on devices with about 8 GB of memory, laptops and desktops prove on the machine, and the browser always pairs a prover. When a device cannot prove, the bundle job goes to the desktop app, a rand-prover you run, or the validators' pool, which receive the viewing key and never the spend key. Every client submits to any RPC node, and the validators order and finalise the transaction. iPhone iOS app · Swift Android Android app · Java Laptop desktop app · Tauri Desktop macOS · Windows · Linux Browser Chrome · Firefox · web proves with ~8 GB else pairs a prover proves with ~8 GB else pairs a prover proves on the machine 8 GiB RAM or more proves on the machine and for your browser always pairs a prover 4 GiB WebAssembly cap XCFramework native library linked crate linked crate WebAssembly One Rust core, built from the full node's own crates spend key and rand1 address · ML-KEM-768 envelopes · the zkVM prover · one key file on every device bundle job: viewing key + salt signed transaction, two proofs Prover, when the device has no room the desktop app on the same computer a rand-prover you run the validators' pool · prover.randprotocol.org never sent the spend key; every proof is checked by the wallet The network any RPC node verifies and gossips validators order, vote, finalise wallets scan blocks with their keys see Validators, aggregators and provers
En un teléfono, deslice la figura hacia los lados. Cinco interfaces sobre un mismo núcleo. Las insignias de color son los clientes que prueban una transferencia en el dispositivo que usted tiene en la mano; el recuadro discontinuo es el lugar al que va la prueba de lote cuando el dispositivo no puede generarla.

Un núcleo, cinco formas

dispositivo y clienteel núcleo que lleva dentroprueba una transferenciadónde se guarda la clave de gasto
iPhone: la app de iOS, iOS 16 o posteriorun XCFrameworkcon unos 8 GB de memoria, en uno o dos minutos; de lo contrario, mediante un prover emparejadoel Keychain, solo mientras el dispositivo está desbloqueado; nunca se sincroniza
Android: la app de Android, Android 8 o posterioruna biblioteca nativacon unos 8 GB de memoria, en un servicio en primer plano; de lo contrario, mediante un prover emparejadocifrada con una clave que custodia el Android Keystore
Portátil y escritorio: la app de escritorio para macOS, Windows y Linuxel crate de Rust, enlazadoen el propio equipo, cerca de un minuto con la CPU de un portátil; no iniciará una prueba con menos de 8 GiB de RAMuna bóveda protegida con contraseña (AES-256-GCM, PBKDF2 con 600 000 iteraciones); desbloqueada, solo en la memoria de la app
Navegador: las extensiones de Chrome y Firefox, la web walletWebAssemblynunca: WebAssembly dispone de 4 GiB, así que siempre es un prover emparejado quien genera la prueba de loteel mismo tipo de bóveda; desbloqueada, en la memoria de la página o en el almacenamiento de sesión de la pestaña

Un portátil y un equipo de escritorio ejecutan la misma app de escritorio. La única diferencia es la memoria de que dispone la máquina para probar. Una wallet creada en cualquiera de ellos se importa en los demás y en la línea de comandos rand, y viceversa: el archivo de claves, el formato de dirección y las reglas son los mismos en todas partes.

Qué wallet envía en la chain 20

La chain 20, activa desde el 2026-10-01 06:17 UTC, vincula cada prueba y cada mensaje firmado a su hash de génesis, por lo que una wallet necesita fullnode v0.6.8 para enviar en ella. Rand Wallet v0.6.8, publicada el 2026-10-01, es esa wallet: el núcleo de cada app incorpora fullnode v0.6.8 y, de forma predeterminada, la prueba de lote la genera el prover de RandProtocol, con un prover propio como opción privada. Las apps 0.6.7, compiladas para la chain 19, no pueden enviar en la chain 20; actualícelas. La línea de comandos rand de la versión v0.6.8 del fullnode (Línea de comandos) también envía, y usa el mismo archivo de claves.

Qué hace cada cliente

  • Mantiene la clave de gasto en el dispositivo. Se genera a partir de la aleatoriedad del sistema operativo y se almacena cifrada. Ningún cliente la envía jamás a ningún sitio, y la red no tiene cuentas a las que enviarla.
  • Encuentra sus propias notes. Escanea la cadena con su clave de visualización, de modo que ningún servidor sabe cuáles son sus notes.
  • Genera por sí mismo la prueba de autorización. Una transferencia lleva dos pruebas. La pequeña, sobre la clave de gasto, tarda segundos y siempre se genera en el dispositivo (Validadores, agregadores y provers).
  • Obtiene la prueba de lote. La genera en el dispositivo si hay memoria suficiente o, si no, la obtiene de un prover emparejado. Toda prueba que recibe se verifica antes de enviar nada.
  • Envía a cualquier nodo RPC. Lo que envía es lo que ve cada nodo: compromisos, nullifiers, sobres sellados, la comisión y las pruebas.

Emparejar un prover

Un teléfono con poca memoria y todas las wallets de navegador emparejan un prover para la prueba de lote. En el mismo equipo, lo hace la app de escritorio (Ajustes → Prove for my other devices, y después pegue el enlace en Ajustes → Prover de la wallet del navegador). En otros casos, es un rand-prover que usted mismo ejecuta (Ejecutar un nodo) o el pool de los validadores en prover.randprotocol.org.

A un prover emparejado se le envía la clave de visualización de la wallet y una sal de un solo uso, nunca la clave de gasto. Puede leer todo el historial de esa wallet, pasado y futuro, pero no puede gastar. Empareje únicamente un prover al que le mostraría ese historial. Para una privacidad total, pruebe en un equipo de escritorio o en un teléfono de 8 GB, o ejecute su propio prover.

Verificado por última vez con el commit c0878c3f del fullnode (cadena 21) el 2026-10-12, y randprotocol.org `src/data/clients.ts` (the per-client pages under /clients), fullnode `749ca098`: `docs/prover.md` §§1, 9 (the spend key never leaves the wallet; the validators' prover pool), github.com/randprotocol/clients/releases on 2026-10-12: Rand Wallet v0.8.0 (12:24 UTC, tag `0926354`), whose core vendors fullnode v0.8.0 (`c0878c3`) and sends on chain 21 only; github.com/randprotocol/fullnode/releases: v0.8.0 with `rand`, `rand-node`, `rand-prover`, `msauth-vk-production.bin` (06:48 UTC), fullnode `c9c9bd3c`: `crates/randprotocol-core/src/types/binding.rs` (BIND-1). Cuando el código y esta página no coinciden, el código tiene razón; avísenos.