Rand Protocol
지갑

Rand Wallet

RAND용 shielded 지갑으로, 플랫폼마다 하나씩 있습니다. 지출 키(spend key)와 rand1… 주소를 생성하고, 사용자 자신의 키로 체인을 스캔하여 노트(note)를 찾으며, 사용자가 들고 있는 기기에서 또는 사용자가 직접 운영하는 prover를 통해 전송을 증명하고, testnet faucet에 자금을 요청하며, randscan.org가 기밀 트랜잭션을 열람하는 데 쓰는 열람 키(viewing key)와 트랜잭션별 키를 제공합니다. 키를 건네주지 않은 사람에게는 사용자의 잔액도, 결제 내역도 보이지 않습니다. 지갑 자체도 예외가 아닙니다. 지갑은 계정을 보유하지 않으며, 오직 사용자의 노트만 보유합니다.

가입하거나 로그인하여 판매 계정에 지갑을 만들면 주소가 곧바로 사용자의 배정분에 등록됩니다. 또는 계정 없이 오프라인으로 바로 여기에서 만들 수도 있습니다.

Rand Wallet 아이콘

iOS

스토어 출시 예정
모바일 · Swift · SwiftUI
배포 경로
테스트 기간에는 TestFlight, 이후에는 App Store
요구 사항
iOS 16 이상
스토어 등록 대기 중입니다. 심사를 통과하기 전까지는 소스에서 빌드하십시오.
Rand Wallet for iOS

Android

0.8.0 다운로드
모바일 · Java
배포 경로
Google Play, 우선 오픈 테스트로 제공
요구 사항
Android 8(API 26) 이상, arm64 또는 x86_64
Android용 다운로드
Google Play 등록 대기 중입니다.
Rand Wallet for Android

Chrome

0.8.0 다운로드
브라우저 확장 프로그램 · JavaScript · Manifest V3
배포 경로
Chrome Web Store, Edge와 Brave에도 설치할 수 있습니다
요구 사항
Chrome 116 이상
Chrome용 다운로드
Chrome Web Store 등록 대기 중입니다.
Rand Wallet for Chrome

Firefox

0.8.0 다운로드
브라우저 확장 프로그램 · JavaScript · Manifest V3
배포 경로
addons.mozilla.org
요구 사항
Firefox 140 이상
Firefox용 다운로드
Firefox 부가 기능 등록 대기 중입니다.
Firefox용 Rand Wallet

Windows

0.8.0 다운로드
데스크톱 · Tauri · Rust 코어, 공통 인터페이스
배포 경로
GitHub Releases의 .msi 설치 프로그램
요구 사항
Windows 10 이상, WebView2 런타임 필요, 전송하려면 8 GiB의 메모리 필요

macOS

0.8.0 다운로드
데스크톱 · Tauri · Rust 코어, 공유 인터페이스
배포 경로
GitHub Releases에서 받는 .dmg
요구 사항
전송에는 8 GiB의 메모리, 빌드에는 Xcode Command Line Tools가 필요합니다

Linux

0.8.0 다운로드
데스크톱 · Tauri · Rust 코어, 공유 인터페이스
배포 경로
GitHub Releases에서 받는 .deb, .rpm, AppImage 또는 바이너리 단독 파일
요구 사항
webkit2gtk 4.1; 전송에는 8 GiB의 메모리가 필요합니다

Web

로컬에서 실행
웹 · JavaScript · WebAssembly 코어
배포 경로
clients 저장소의 체크아웃을 사용자의 컴퓨터에서 직접 서비스하는 방식
요구 사항
Node 20 이상, 최신 브라우저
어디에도 호스팅되지 않으며, 사용자의 로컬 체크아웃에서 제공됩니다.
웹에서 사용하는 Rand Wallet

버전 0.8.0, 2026-10-12. 모든 다운로드는 GitHub의 v0.8.0 릴리스에 있는 파일이며, 각 클라이언트 페이지에는 해당 파일의 SHA-256이 표시됩니다. 전체 목록은 SHA256SUMS입니다. 직접 컴파일하시겠습니까? 소스에서 빌드하기. 지갑은 데이터를 수집하지 않습니다: 개인정보 처리방침 · 이용약관.

지갑 만들기

오프라인으로 여기에서 만들기

오른쪽의 생성기는 풀 노드 자체의 키 코드를 WebAssembly로 컴파일하여 이 페이지에 불러온 것입니다. 준비되었다는 표시가 나타난 뒤 Wi‑Fi를 꺼도 계속 작동합니다. 지출 키(spend key)는 사용자 기기의 난수로 만들어지고, 주소는 그 자리에서 키로부터 도출되며, 어떤 것도 외부로 전송되지 않습니다. 전송될 곳이 없기 때문입니다.

주소는 rand1에 1,667자가 이어지는 형태입니다. 지갑의 노트 키(note key)와, 송신자가 노트를 봉인하는 대상인 ML-KEM 캡슐화 키(encapsulation key)로 구성되며, 이는 체인 18과 19가 사용하는 형식입니다. (체인 11은 서명 키의 54자 해시를 시도했으나, 송신자가 해시에 대해서는 노트를 봉인할 수 없어 되돌려졌습니다. 기록은 문서에 있습니다.) 키 파일을 rand CLI 또는 아무 Rand Wallet 앱에 불러오면 rand address가 동일한 주소를 출력합니다.

배포를 위해 주소를 등록해 두시겠습니까? 주소 페이지에는 동일한 생성기와 함께 주소를 저장할 계정이 있습니다. 이메일과 비밀번호만 필요하며, 저장되는 것은 주소뿐입니다.

먼저 코드를 확인하시겠습니까? 풀 노드의 crates/randprotocol-zkvm/src/address.rs이며, 브라우저 래퍼는 이 사이트 저장소의 server/address-wasm입니다.

이 브라우저에서 지갑 만들기
키 코드를 불러오는 중입니다…
  1. 위의 배지에 오프라인 준비 완료라고 표시될 때까지 기다리십시오. 지갑에 필요한 모든 것이 이 탭에 들어 있습니다.
  2. Wi‑Fi를 끄거나 비행기 모드를 켜십시오. 이 탭은 열어 두십시오.
  3. 생성합니다. 지출 키는 사용자 기기 자체의 난수에서 만들어지며 기기 밖으로 나가지 않습니다.
  4. wallet.key.json을 내려받고 주소를 복사하십시오. 그런 다음 다시 연결하십시오.

모든 클라이언트

모든 플랫폼, 하나의 지갑

모든 플랫폼에서 동일한 키 파일, 동일한 주소 형식, 동일한 규칙을 사용합니다. 휴대전화에서 만든 지갑은 브라우저와 rand CLI로 가져올 수 있으며, 그 반대도 가능합니다.

지갑 만들기
기기에서 생성한 지출 키는 저장할 수 있도록 한 번만 표시되며, 이 키에서 rand1… 주소가 파생됩니다. 기존 키를 가져올 수도 있고 rand CLI의 wallet.key.json을 가져올 수도 있습니다. 모든 클라이언트가 동일한 파일을 내보냅니다.
받기와 보내기
잔액은 사용자의 키로만 열 수 있는 note의 집합입니다. 지갑은 커밋먼트 트리를 스캔하여 이를 찾습니다. RAND 또는 등록된 모든 RPL 토큰의 전송은 증명으로 승인되는 4-in-4-out 번들 하나로 이루어집니다. 송신자, 수신자, 금액, 이동한 자산이 무엇인지 아무도 알 수 없습니다.
Faucet
공개 faucet이 열려 있는 testnet에서는 한 번의 탭으로 100 RAND가 사용자만 열 수 있는 note로 발행됩니다.
공개할 내용만 직접 선택
viewing key를 복사하여 RandScan의 My history를 열면 보내거나 받은 모든 note를 볼 수 있으며, 개별 결제의 트랜잭션 키를 복사하면 해당 결제만 정확히 공개할 수 있습니다. 탐색기는 브라우저에서 복호화하며 키를 어디로도 전송하지 않습니다.
작동 방식

하나의 코어, 사용자의 키, 사용자의 prover

모든 클라이언트는 풀 노드 자체의 크레이트로 빌드된 하나의 Rust 코어를 감싸고 있습니다. Poseidon2 키 계층, ML-KEM-768 봉투(envelope), zkVM prover는 모두 노드의 코드이며, iOS용 XCFramework, Android용 네이티브 라이브러리, 브라우저용 WebAssembly, 데스크톱 앱에 링크된 크레이트로 컴파일됩니다. 그 위의 Swift, Java, JavaScript가 지갑 자체로서 RPC 클라이언트, 노트 저장소, 화면을 구성합니다. 지출 키(spend key)는 운영체제의 난수로 기기에서 로컬로 생성되어 암호화된 상태로 보관됩니다. 지갑이 RPC 엔드포인트로 보내는 것은 어차피 번들이 공개하는 내용, 즉 커밋먼트(commitment), 널리파이어(nullifier), 봉인된 봉투, 그리고 증명뿐입니다. 증명에는 약 5.7 GB의 메모리가 필요하므로, 데스크톱 앱과 대형 휴대전화는 직접 증명하고, 브라우저 지갑은 사용자가 운영하는 prover를 연동합니다. 이 prover는 오직 자신에게만 봉인된 키를 받습니다.

Testnet 노트

무엇이든 보내기 전에

체인
공개 엔드포인트는 2026년 10월 12일 10:31 UTC부터 운영 중인 chain 21을 제공합니다(fullnode v0.8.0 기준으로 생성). 지갑 코어는 fullnode v0.8.0 (c0878c3)을 벤더링하며 다른 체인은 거부합니다. chain 21은 constraint set 9를 실행하므로 0.7.x 지갑은 이 체인에서 전송할 수 없고, 이 릴리스는 chain 20에서 전송할 수 없습니다. 키와 주소는 그대로 이어집니다. chain 20을 스캔한 지갑은 다른 체인 배너를 한 번 표시하며, chain 21의 제네시스부터 다시 스캔합니다. 브리지 입금과 출금에는 zUSD로 0.1% 수수료가 부과되며, 지갑은 출금 전에 이 금액을 표시합니다.
RPC 엔드포인트
설정 → 네트워크. 기본값은 https://rpc.randprotocol.org이며, 접근할 수 있는 모든 rand-node RPC를 사용할 수 있고 저장된 URL은 유지되기 전에 검증됩니다
증명 생성
번들 증명은 메모리 사용량이 최대 약 6.2 GB에 이르며 노트북 CPU에서 약 1분이 걸립니다
상태
실험적인 testnet 소프트웨어입니다. 감사를 받지 않았습니다. testnet의 RAND는 실질 가치가 없습니다
라이선스
GPL-3.0-only이며, 모든 클라이언트가 링크하는 full node 크레이트와 동일합니다
소스에서 빌드

또는 직접 빌드하기

클라이언트 저장소에는 Rust 코어, 공유 인터페이스, 모든 앱, 그리고 각 스토어용 패키징이 들어 있습니다. 코어는 체인 19가 실행한 빌드인 풀 노드 v0.6.7을 서브모듈로 포함합니다. 빌드 가이드는 깨끗한 환경에서 모든 클라이언트를 차례로 설명하며, 각 클라이언트 페이지에도 고유한 절차가 있습니다.

소스
randprotocol/clients
GPL-3.0-only
코어를 빌드한 다음 클라이언트를 빌드합니다
bash
# Rust 1.98.1(버전 고정, rustup이 설치합니다). iOS는 Xcode 16 이상, Android는 SDK 36과 NDK 27이 포함된 JDK 17 이상, 확장 프로그램은 Node 22 이상
git clone --recurse-submodules https://github.com/randprotocol/clients.git && cd clients   # core/vendor/fullnode @ v0.6.7 (86941a1)
cd core && cargo test --release && cd ..       # 실제 증명을 포함한 코어(약 1분)

core/scripts/build-wasm.sh                     # → extension/shared/core/   (wasm-bindgen-cli를 설치합니다)
core/scripts/build-ios.sh                      # → ios/Frameworks/RandWalletCore.xcframework
core/scripts/build-android.sh                  # → android/app/src/main/jniLibs/ (NDK가 필요합니다)
scripts/release/build-desktop.sh               # 데스크톱 앱: dmg / msi / AppImage, deb, rpm
web/wallet/serve.sh                            # http://127.0.0.1:8787/ 의 로컬 웹 지갑

# 그다음: /clients/ios, /clients/android, /clients/chrome, /clients/firefox, /clients/macos …