Rand Protocol
Web

Rand Wallet na web

A mesma carteira em uma aba comum do navegador, servida a partir da sua própria máquina por um pequeno servidor restrito ao loopback. Ela não é hospedada em lugar nenhum, de propósito: uma carteira web só é tão confiável quanto a origem que a serve, e esta é servida por você.

Não está hospedado em lugar algum. Execute-o a partir de um checkout do repositório de clientes, ou do arquivo de código-fonte, abaixo.

Ícone do Rand Wallet
Desenvolvido com
JavaScript · núcleo WebAssembly
Distribuído por meio de
um checkout do repositório de clientes, servido na sua própria máquina
Requer
Node 20 ou posterior; um navegador atual
Envio
Envia pelo prover da RandProtocol ou pelo seu próprio
Download

Versão 0.8.0

Os arquivos estão anexados à release v0.8.0 no GitHub; os botões aqui são links para eles, e nada é servido por este site.

  1. Descompacte e execute web/wallet/serve.sh dentro dele, exatamente como em um checkout do git. O arquivo contém o submódulo do full node, que os arquivos “Source code” do próprio GitHub não incluem.
Código-fonte (.tar.gz)
o repositório de clientes e o seu submódulo, em um único arquivo · 13.2 MB
Baixar
rand-wallet-0.8.0-source.tar.gz
SHA-256 91f765f8cb6853914b49b26c1ba76d467c6e02d63a3f590acac3a155b977328d
Verifique o que você baixou
SHA256SUMS
# com o SHA256SUMS baixado na mesma pasta do arquivo
shasum -a 256 -c SHA256SUMS --ignore-missing     # macOS
sha256sum -c SHA256SUMS --ignore-missing         # Linux

# ou imprima a soma de um único arquivo e compare-a com a indicada acima
shasum -a 256 rand-wallet-0.8.0-source.tar.gz

Uma soma coincidente indica que o arquivo é o que foi publicado. Ela não indica que o arquivo foi compilado a partir do código-fonte: as compilações ainda não são reproduzíveis bit a bit, portanto, se é isso que você precisa saber, compile-o você mesmo.

Envio

Envia pelo prover da RandProtocol ou pelo seu próprio

A prova de um bundle chega a cerca de 6,2 GB de memória no pico, e o navegador dá ao WebAssembly 4 GiB, de modo que a carteira web nunca gera a prova por conta própria. Ela monta a transferência, pede a um prover que gere a prova (por padrão o prover da RandProtocol, ou um que você pareie), verifica a prova localmente e a envia.

Para manter o seu histórico longe do prover da RandProtocol, pareie o aplicativo desktop Rand Wallet no mesmo computador (Settings → Prove for my other devices) ou o seu próprio rand-prover. Uma prova em andamento existe apenas na memória da aba; recarregar a página no meio da prova a esquece, e nada é enviado.

Um dispositivo que não consegue gerar uma prova usa por padrão os provers da RandProtocol: algumas máquinas operadas pelos validators (quatro hoje, em https://prover.randprotocol.org), sem taxa. A partir da 0.6.9, cada uma tem a sua própria chave, que a carteira fixa, e a carteira avisa isso antes do primeiro envio. A máquina que gera a prova de um envio recebe a viewing key da carteira e um salt de uso único: o seu operador pode ler todo o histórico da carteira, cada pagamento recebido e enviado, mas não pode gastar. A chave de gasto nunca sai do seu dispositivo, que gera por si só a pequena prova de autorização. Para mais privacidade, escolha o seu próprio prover em Settings → Prover, que passa então a ser sempre o preferido; a carteira verifica cada prova antes de enviá-la.

Como emparelhar um prover, passo a passo: docs/prover.md.

Suas chaves

Onde a chave fica

A chave de gasto é o único segredo da carteira. Não há conta nem servidor guardando uma cópia: se você perder a chave, ninguém poderá restaurá-la, então salve-a quando a carteira a mostrar.

Chave de gasto
Criptografada em repouso no IndexedDB: AES-256-GCM sob PBKDF2-SHA256 com 600.000 iterações. Desbloqueada, existe apenas na memória da página, de modo que recarregar bloqueia a carteira. Ela nunca está no localStorage, em uma URL ou em uma mensagem de erro.
Desbloqueio
Senhas incorretas são limitadas por uma espera crescente antes de cada tentativa, e a contagem sobrevive a uma recarga.
Servidor
Escuta somente em 127.0.0.1, recusa qualquer outro cabeçalho Host, serve arquivos estáticos e nada mais, sob uma Content-Security-Policy estrita: nenhum script inline e nenhum script remoto.
Abas
Duas abas da carteira compartilham um mesmo repositório com segurança: uma faz a varredura de cada vez e as demais leem o que ela gravou.
Execute

Execute a partir de um checkout

  1. Clone o repositório de clientes e execute web/wallet/serve.sh; depois abra http://127.0.0.1:8787/. A primeira execução compila o núcleo WebAssembly, o que leva alguns minutos; depois disso, iniciar é apenas copiar um arquivo.
  2. Se você encontrar a Rand Wallet em alguma URL remota, confie nela exatamente tanto quanto em quem opera aquele servidor. Para qualquer coisa que importe, use o aplicativo desktop ou a extensão do navegador.

Toolchain: Rust 1.98.1, fixada no repositório, que o rustup instala. O guia de compilação cobre todos os clientes, a partir de uma máquina limpa. Diretórios do código-fonte: web/wallet/, ui/, core/.

Rand Wallet na web
bash
git clone --recurse-submodules https://github.com/randprotocol/clients.git && cd clients
git checkout v0.8.0 && git submodule update --init   # a versão publicada; core/vendor/fullnode @ v0.8.0 (c0878c3)
web/wallet/serve.sh   # compile e depois sirva em http://127.0.0.1:8787/
RAND_WALLET_PORT=9000 web/wallet/serve.sh   # em outra porta
Todos os clientes

O que ele faz, em todas as plataformas

Criar uma carteira
Uma chave de gasto gerada no dispositivo, exibida uma única vez para você guardar, e o endereço rand1… derivado dela. Importe uma chave existente, ou um wallet.key.json da CLI rand; todos os clientes exportam o mesmo arquivo.
Receber e enviar
O seu saldo é o conjunto de notes que somente a sua chave consegue abrir; a carteira varre a árvore de commitments para encontrá-los. Uma transferência de RAND ou de qualquer token RPL listado é um único bundle de 4 entradas e 4 saídas autorizado por uma prova. Ninguém descobre o remetente, o destinatário, o valor nem qual ativo se moveu.
Faucet
Em uma testnet com faucet aberto, um toque cunha 100 RAND em um note que somente você consegue abrir.
Divulgue apenas o que você escolher
Copie a sua viewing key e abra My history no RandScan para ver cada note que você enviou ou recebeu, ou copie a transaction key de um pagamento para divulgar exatamente esse pagamento e nada além. O explorador descriptografa no seu navegador e nunca envia a chave a lugar nenhum.

As chaves de visualização e as chaves de transação abrem no randscan.org.

Notas sobre a testnet

Antes de enviar qualquer coisa

Cadeia
O endpoint público atende a chain 21, em operação desde 12 Oct 2026 10:31 UTC (criada a partir do fullnode v0.8.0). O núcleo da carteira incorpora o fullnode v0.8.0 (c0878c3) e recusa qualquer outra chain: a chain 21 executa o constraint set 9, de modo que uma carteira 0.7.x não consegue enviar nela, e esta versão não consegue enviar na chain 20. As chaves e os endereços são mantidos; uma carteira que escaneou a chain 20 exibe uma vez um aviso de chain diferente e refaz a varredura a partir do gênesis da chain 21. Os depósitos e saques pela bridge mantêm uma taxa de 0,1% em zUSD, que a carteira mostra antes de você sacar.
Endpoint RPC
Settings → Network. O padrão é https://rpc.randprotocol.org; qualquer RPC de rand-node ao seu alcance funciona, e uma URL salva é verificada antes de ser mantida
Geração de provas
A prova de um bundle chega a cerca de 6,2 GB de memória no pico e leva cerca de um minuto em uma CPU de notebook
Status
Software experimental de testnet. Não auditado. RAND na testnet não tem valor real
Licença
GPL-3.0-only, como os crates do full node que todo cliente vincula
Outros clientes

Uma carteira, todas as plataformas

O mesmo arquivo de chave, o mesmo formato de endereço e as mesmas regras em toda parte: uma carteira criada aqui pode ser importada em qualquer outro cliente e na CLI rand.