- 빌드 환경
- JavaScript · WebAssembly 코어
- 배포 경로
- clients 저장소의 체크아웃을 사용자의 컴퓨터에서 직접 서비스하는 방식
- 요구 사항
- Node 20 이상, 최신 브라우저
- 전송
- RandProtocol prover 또는 사용자가 지정한 prover를 통해 전송합니다
버전 0.8.0
파일은 GitHub의 v0.8.0 릴리스에 첨부되어 있습니다. 여기의 버튼은 해당 파일로 연결되는 링크이며, 이 사이트에서는 아무것도 제공하지 않습니다.
- 압축을 풀고 git 체크아웃에서와 똑같이 그 안에서 web/wallet/serve.sh를 실행합니다. 이 아카이브에는 full node 서브모듈이 포함되어 있으나, GitHub의 자체 “Source code” 아카이브에는 포함되어 있지 않습니다.
# SHA256SUMS를 파일과 같은 폴더에 내려받은 상태에서
shasum -a 256 -c SHA256SUMS --ignore-missing # macOS
sha256sum -c SHA256SUMS --ignore-missing # Linux
# 또는 파일 하나의 해시 합계를 출력하여 위의 값과 비교하십시오
shasum -a 256 rand-wallet-0.8.0-source.tar.gz 합계가 일치하면 해당 파일이 게시된 파일과 같다는 뜻입니다. 그 파일이 소스에서 빌드되었다는 뜻은 아닙니다. 아직은 빌드가 비트 단위로 재현되지 않으므로, 이를 확인해야 한다면 직접 빌드하십시오.
RandProtocol prover 또는 사용자가 지정한 prover를 통해 전송합니다
번들 증명은 메모리 사용량이 최대 약 6.2 GB에 이르는 반면 브라우저가 WebAssembly에 허용하는 용량은 4 GiB이므로, 웹 지갑은 스스로 증명을 생성하지 않습니다. 웹 지갑은 전송을 구성하고, prover가 증명을 생성하도록 한 뒤(기본값은 RandProtocol prover이며, 사용자가 페어링한 prover도 사용할 수 있습니다), 그 증명을 로컬에서 검증하고 제출합니다.
RandProtocol prover에 내역이 노출되지 않게 하려면, 같은 컴퓨터의 Rand Wallet 데스크톱 앱(설정 → Prove for my other devices) 또는 사용자 본인의 rand-prover를 페어링하십시오. 진행 중인 증명은 탭의 메모리에만 존재하므로, 증명 도중에 페이지를 새로 고치면 해당 증명은 사라지고 아무것도 전송되지 않습니다.
증명을 생성할 수 없는 기기는 기본적으로 RandProtocol prover를 사용합니다. 이는 validator가 운영하는 몇 대의 머신(현재 네 대, https://prover.randprotocol.org 하위)이며 수수료는 없습니다. 0.6.9부터 각 prover는 고유한 키를 가지며 지갑이 이를 고정(pin)하고, 지갑은 첫 전송에 앞서 이를 안내합니다. 전송의 증명을 생성하는 머신은 지갑의 viewing key와 일회용 salt를 받습니다. 따라서 해당 운영자는 받은 결제와 보낸 결제를 모두 포함한 지갑의 전체 내역을 읽을 수 있으나, 자금을 사용할 수는 없습니다. 지출 키(spend key)는 기기를 떠나지 않으며, 작은 승인 증명은 기기가 직접 생성합니다. 더 높은 프라이버시가 필요하면 설정 → Prover에서 사용자 본인의 prover를 선택하십시오. 이 prover가 항상 우선 사용되며, 지갑은 제출하기 전에 모든 증명을 검증합니다.
prover 페어링 단계별 안내: docs/prover.md.
키가 보관되는 위치
지출 키는 지갑의 유일한 비밀입니다. 계정도 없고 사본을 보관하는 서버도 없습니다. 키를 잃으면 아무도 복구할 수 없으므로, 지갑이 키를 보여 줄 때 저장해 두십시오.
체크아웃에서 실행하기
- clients 저장소를 클론하고 web/wallet/serve.sh를 실행한 다음 http://127.0.0.1:8787/ 을 엽니다. 처음 실행할 때는 WebAssembly 코어를 빌드하므로 몇 분이 걸리며, 이후의 시작은 파일 복사에 불과합니다.
- 원격 URL에서 Rand Wallet을 발견했다면, 그 서버를 운영하는 주체를 신뢰하는 만큼만 신뢰하십시오. 중요한 용도에는 데스크톱 앱 또는 브라우저 확장 프로그램을 사용하십시오.
툴체인: Rust 1.98.1, 저장소에 고정되어 있으며 rustup이 설치합니다. 빌드 가이드는 클린 머신에서 시작하여 모든 클라이언트를 다룹니다. 소스 디렉터리: 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 # 릴리스 버전; core/vendor/fullnode @ v0.8.0 (c0878c3)
web/wallet/serve.sh # 빌드한 다음 http://127.0.0.1:8787/ 에서 서비스
RAND_WALLET_PORT=9000 web/wallet/serve.sh # 다른 포트에서 모든 플랫폼에서 지원하는 기능
- 지갑 만들기
- 기기에서 생성한 지출 키는 저장할 수 있도록 한 번만 표시되며, 이 키에서 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를 볼 수 있으며, 개별 결제의 트랜잭션 키를 복사하면 해당 결제만 정확히 공개할 수 있습니다. 탐색기는 브라우저에서 복호화하며 키를 어디로도 전송하지 않습니다.
조회 키와 트랜잭션 키는 randscan.org에서 열립니다.
전송하기 전에
- 체인
- 공개 엔드포인트는 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 크레이트와 동일합니다
하나의 지갑, 모든 플랫폼
어디서나 동일한 키 파일, 주소 형식, 규칙을 사용합니다. 여기서 만든 지갑은 다른 어떤 클라이언트와 rand CLI에서도 가져올 수 있습니다.