Rand Wallet para iOS
Um aplicativo SwiftUI nativo sobre o núcleo de carteira em Rust compartilhado, vinculado como XCFramework. Sua chave de gasto permanece no Keychain do iPhone, protegida por Face ID ou Touch ID, e o aplicativo se comunica apenas com o endpoint RPC que você escolher.
Listagem na App Store pendente. Até que ela passe pela revisão, compile-a a partir do código-fonte abaixo.
- Desenvolvido com
- Swift · SwiftUI
- Distribuído por meio de
- TestFlight durante os testes e, depois, a App Store
- Requer
- iOS 16 ou posterior
- Envio
- Gera a prova no celular ou por meio do prover da RandProtocol
Gera a prova no celular ou por meio do prover da RandProtocol
Em um celular com cerca de 8 GB de memória, o aplicativo gera a prova de uma transferência no próprio dispositivo. Leva um ou dois minutos, e o fluxo de envio mantém a tela ativa e pede que você mantenha o aplicativo aberto.
Uma prova de bundle atinge um pico de cerca de 6,2 GB. Em um celular com menos memória, o iOS encerraria o aplicativo durante a prova, por isso a etapa de revisão avisa com os números do próprio dispositivo. O celular passa então a usar por padrão o prover da RandProtocol, ou o seu próprio rand-prover via https (Ajustes → Prover), e monta a transferência enquanto o prover gera a prova.
Um dispositivo que não consegue gerar uma prova usa por padrão os provers da RandProtocol: algumas máquinas operadas pelos validadores (quatro atualmente, em https://prover.randprotocol.org), sem taxa. A partir da versão 0.6.9, cada uma tem a sua própria chave, que a carteira fixa, e a carteira informa isso antes do primeiro envio. A máquina que gera a prova de um envio recebe a chave de visualização 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 o seu próprio prover em Ajustes → 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.
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.
Swap, no aplicativo
A partir da versão 0.7.1, os aplicativos para celular têm a tela de Swap que as extensões e o aplicativo para desktop já têm: negocie RAND e tokens pelos pools da durian.market sem sair da carteira. O celular gera por conta própria a prova da chamada de programa e a autorização de gasto, o que exige cerca de 1,5 GB de memória, e os provers da RandProtocol geram a prova grande. O valor que você recebe é exato; se o pool se mover antes, nada é enviado e você recebe uma nova cotação.
Até a listagem na App Store ser aprovada
- A Apple só instala um aplicativo a partir do TestFlight ou da App Store, portanto não há arquivo para baixar no iOS.
- Compile e execute a partir do repositório clients no Xcode 16 ou posterior, em um simulador ou no seu próprio dispositivo.
- Os links randpay: abrem a tela de envio já preenchida; nada é enviado até você confirmar.
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: ios/, core/.
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-ios.sh # → ios/Frameworks/RandWalletCore.xcframework
open ios/RandWallet.xcodeproj # ou compile com xcodebuild, abaixo
cd ios && xcodebuild -project RandWallet.xcodeproj -scheme RandWallet \
-destination 'platform=iOS Simulator,name=iPhone 17' build 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.
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
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.