Rand Wallet sul web
Lo stesso wallet in una normale scheda del browser, servito dalla tua macchina da un piccolo server raggiungibile solo in loopback. Non è ospitato da nessuna parte, di proposito: un wallet web è affidabile solo quanto l'origine che lo serve, e questo lo servi tu.
Non è ospitato in nessun luogo. Eseguilo da un checkout del repository dei client, oppure dall'archivio dei sorgenti, qui sotto.
- Realizzato con
- JavaScript · core WebAssembly
- Distribuito tramite
- un checkout del repository clients, servito sulla tua macchina
- Richiede
- Node 20 o successivo; un browser aggiornato
- Invio
- Invia tramite il prover di RandProtocol, o il tuo
Versione 0.8.0
I file sono allegati alla release v0.8.0 su GitHub; i pulsanti qui sono collegamenti a quei file e da questo sito non viene servito nulla.
- Estrailo ed esegui web/wallet/serve.sh al suo interno, esattamente come da un checkout git. L'archivio contiene il submodule del full node, che gli archivi «Source code» di GitHub omettono.
# con SHA256SUMS scaricato nella stessa cartella del file
shasum -a 256 -c SHA256SUMS --ignore-missing # macOS
sha256sum -c SHA256SUMS --ignore-missing # Linux
# oppure stampa la somma di un singolo file e confrontala con quella indicata sopra
shasum -a 256 rand-wallet-0.8.0-source.tar.gz Una somma corrispondente indica che il file è quello che è stato pubblicato. Non indica che il file sia stato compilato dai sorgenti: le build non sono ancora riproducibili bit per bit, quindi, se è ciò che ti serve sapere, compilalo tu stesso.
Invia tramite il prover di RandProtocol, o il tuo
La prova di un bundle raggiunge un picco di circa 6,2 GB di memoria e un browser concede a WebAssembly 4 GiB, quindi il wallet web non genera mai le prove da sé. Costruisce il trasferimento, fa produrre la prova a un prover (quello di RandProtocol per impostazione predefinita, o uno che hai abbinato), la verifica in locale e la invia.
Per tenere la tua cronologia nascosta al prover di RandProtocol, abbina l'app desktop Rand Wallet sullo stesso computer (Impostazioni → Prove for my other devices) o il tuo rand-prover. Una prova in corso vive solo nella memoria della scheda; ricaricare la pagina a metà prova la dimentica, e non viene inviato nulla.
Un dispositivo che non può generare una prova usa per impostazione predefinita i prover di RandProtocol: alcune macchine gestite dai validator (quattro oggi, sotto https://prover.randprotocol.org), senza commissioni. Dalla 0.6.9 ciascuno ha una propria chiave, che il wallet fissa, e il wallet lo segnala prima del primo invio. La macchina che genera la prova di un invio riceve la viewing key del wallet e un salt monouso: il suo operatore può leggere l'intera cronologia del wallet, ogni pagamento ricevuto e inviato, e non può spendere. La chiave di spesa non lascia mai il tuo dispositivo, che genera da sé la piccola prova di autorizzazione. Per maggiore privacy scegli il tuo prover in Impostazioni → Prover, che da quel momento è sempre preferito; il wallet verifica ogni prova prima di inviarla.
Abbinare un prover, passo per passo: docs/prover.md.
Dove risiede la chiave
La chiave di spesa è l'unico segreto del wallet. Non esiste alcun account né alcun server che ne conservi una copia: se perdi la chiave nessuno può ripristinarla, quindi salvala quando il wallet te la mostra.
Eseguilo da un checkout
- Clona il repository clients ed esegui web/wallet/serve.sh, poi apri http://127.0.0.1:8787/. La prima esecuzione compila il core WebAssembly, il che richiede alcuni minuti; in seguito un avvio è una semplice copia di file.
- Se trovi Rand Wallet a un URL remoto, fidati di esso esattamente quanto di chi gestisce quel server. Per qualsiasi cosa importante, usa l'app desktop o l'estensione del browser.
Toolchain: Rust 1.98.1, fissata nel repository e installata da rustup. La guida alla compilazione copre ogni client a partire da una macchina pulita. Directory dei sorgenti: web/wallet/, ui/, core/.
git clone --recurse-submodules https://github.com/randprotocol/clients.git && cd clients
git checkout v0.8.0 && git submodule update --init # la release; core/vendor/fullnode @ v0.8.0 (c0878c3)
web/wallet/serve.sh # compila, poi servi su http://127.0.0.1:8787/
RAND_WALLET_PORT=9000 web/wallet/serve.sh # su un'altra porta Cosa fa, su ogni piattaforma
- Crea un wallet
- Una chiave di spesa generata sul dispositivo, mostrata una sola volta perché tu la salvi, e l'indirizzo rand1… che ne deriva. Importa una chiave esistente, o un wallet.key.json dalla CLI rand; ogni client esporta lo stesso file.
- Ricevi e invia
- Il tuo saldo è l'insieme delle note che solo la tua chiave può aprire; il wallet scansiona il commitment tree per trovarle. Un trasferimento di RAND o di qualsiasi token RPL in elenco è un unico bundle 4-in-4-out autorizzato da una prova. Nessuno viene a sapere il mittente, il destinatario, l'importo o quale asset si è mosso.
- Faucet
- Su una testnet con un faucet aperto, un tocco conia 100 RAND in una nota che solo tu puoi aprire.
- Rivela solo ciò che scegli
- Copia la tua viewing key e apri La mia cronologia su RandScan per vedere ogni nota che hai inviato o ricevuto, oppure copia la transaction key di un singolo pagamento per rivelare esattamente quel pagamento e nient'altro. L'explorer decifra nel tuo browser e non invia mai la chiave da nessuna parte.
Le chiavi di visualizzazione e le chiavi di transazione si aprono su randscan.org.
Prima di inviare qualsiasi cosa
- Chain
- L'endpoint pubblico serve la chain 21, attiva dal 12 ottobre 2026, 10:31 UTC (creata su fullnode v0.8.0). Il core del wallet incorpora fullnode v0.8.0 (c0878c3) e rifiuta qualsiasi altra chain: la chain 21 esegue il constraint set 9, quindi un wallet 0.7.x non può inviare su di essa, e questa release non può inviare sulla chain 20. Chiavi e indirizzi restano validi; un wallet che ha scansionato la chain 20 mostra una sola volta un banner di chain diversa e riesegue la scansione dal genesis della chain 21. I depositi e i prelievi tramite bridge mantengono una commissione dello 0,1% in zUSD, che il wallet mostra prima del prelievo.
- Endpoint RPC
- Impostazioni → Rete. Per impostazione predefinita https://rpc.randprotocol.org; funziona qualsiasi RPC di rand-node raggiungibile, e un URL salvato viene verificato prima di essere conservato
- Generazione delle prove
- La prova di un bundle raggiunge un picco di circa 6,2 GB di memoria e richiede circa un minuto su una CPU di un portatile
- Stato
- Software testnet sperimentale. Non sottoposto ad audit. RAND sulla testnet non ha alcun valore reale
- Licenza
- GPL-3.0-only, come i crate del full node a cui si collega ogni client
Un unico wallet, ogni piattaforma
Lo stesso file di chiavi, lo stesso formato di indirizzo e le stesse regole ovunque: un wallet creato qui si importa in qualsiasi altro client e nella CLI rand.