Rand Protocol
Extensão de navegador

Rand Wallet para Firefox

A mesma extensão da versão para Chrome, a partir do mesmo código, empacotada para o Firefox. Nada nela é minificado nem empacotado em bundle, então o código que a Mozilla revisa é o código que você executa.

Listagem na Firefox Add-ons pendente. Até que ela passe pela revisão, instale a versão 0.8.0 pelo download abaixo ou compile-a a partir do código-fonte.

Ícone do Rand Wallet
Desenvolvido com
JavaScript · Manifest V3
Distribuído por meio de
addons.mozilla.org
Requer
Firefox 140 ou posterior
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. Abra about:debugging, escolha Este Firefox → Carregar extensão temporária… e selecione o zip.
  2. Uma extensão temporária é removida quando o Firefox é reiniciado. O Firefox de versão estável instala de forma permanente apenas o que o addons.mozilla.org assinou, então é assim que funciona até a listagem ficar no ar.
  3. O Firefox concede as permissões de site de uma extensão na instalação. Se você recusou o randbridge.org ali, conceda-o depois no painel de permissões da extensão.
Extensão do Firefox (.zip)
Firefox 140 ou posterior · 2.7 MB
Baixar
rand-wallet-firefox-0.8.0.zip
SHA-256 2982e605ba06dfac9de02e67652e3afc6d8b4d4ce20cb17225fe5c8335a503c6
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-firefox-0.8.0.zip

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 oferece 4 GiB ao WebAssembly; por isso a extensão 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ê emparelhar), verifica a prova localmente e a envia.

De fábrica, usa o prover da RandProtocol, após um aviso único. Para manter seu histórico longe dele, emparelhe o aplicativo desktop Rand Wallet no mesmo computador (em Configurações → Prove for my other devices, e depois cole o link em Configurações → Prover da extensão) ou use seu próprio rand-prover em um servidor.

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: 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 conta própria a pequena prova de autorização. Para mais privacidade, escolha seu próprio prover em Configurações → Prover, que passa 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
Gerada dentro do núcleo da carteira a partir da aleatoriedade do sistema operacional e armazenada apenas como um cofre AES-256-GCM sob PBKDF2-SHA256. Enquanto está desbloqueada, fica no armazenamento de sessão do navegador, que se esvazia quando o navegador é fechado e que as páginas web não conseguem ler.
Chaves na tela
A viewing key e a exportação da chave de gasto ficam atrás de uma nova verificação de senha, que custa tanto quanto desbloquear. Nenhuma chave é jamais colocada em uma URL, no console ou no armazenamento persistente da extensão.
Bloqueio automático
Um alarme do navegador, não um temporizador de página, de modo que a carteira bloqueia no prazo mesmo depois de o popup ter sido fechado e o worker em segundo plano ter sido suspenso.
Rede
Apenas a URL do RPC em Configurações. Apontá-la para outro lugar pede permissão para acessar esse único host. Sem analytics e sem código remoto: a extensão executa somente os scripts com os quais foi instalada.
Também

Swap, e window.rand para sites da Rand

A tela Swap da própria carteira negocia RAND e tokens pelos pools da durian.market: ela cota o valor exato a partir do pool na chain, depois gera a prova e envia o swap por conta própria, e a durian.market pode pedir o mesmo swap por meio de window.rand.invoke.

O randbridge.org encontra a extensão como window.rand e pode pedir para se conectar. A conexão exige uma carteira desbloqueada e a sua aprovação para aquele site, e um site conectado fica sabendo o seu endereço e o hash de destinatário da bridge, nada mais.

Compilar a partir do código-fonte

Ou compile você mesmo

  1. Compile e empacote a extensão a partir do repositório de clientes, abaixo.
  2. Abra about:debugging, escolha Este Firefox → Carregar extensão temporária… e selecione dist/firefox/manifest.json.

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: firefox/, extension/, ui/, core/.

Rand Wallet para Firefox
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)
core/scripts/build-wasm.sh   # → extension/shared/core/ (instala o wasm-bindgen-cli)
firefox/pack.sh   # → dist/firefox/ e dist/rand-wallet-firefox-<version>.zip
npx web-ext lint --source-dir dist/firefox
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.