Rand Protocol
브라우저 확장 프로그램

Firefox용 Rand Wallet

Chrome 빌드와 동일한 코드로 만든 같은 확장 프로그램을 Firefox용으로 패키징한 것입니다. 최소화나 번들링된 것이 없으므로 Mozilla가 검토하는 코드가 곧 사용자가 실행하는 코드입니다.

Firefox 부가 기능 등록이 대기 중입니다. 심사를 통과할 때까지는 아래 다운로드에서 0.8.0 버전을 설치하시거나 소스에서 빌드하십시오.

Rand Wallet 아이콘
빌드 환경
JavaScript · Manifest V3
배포 경로
addons.mozilla.org
요구 사항
Firefox 140 이상
전송
RandProtocol 증명자 또는 직접 운영하는 증명자를 통해 전송합니다
다운로드

버전 0.8.0

파일은 GitHub의 v0.8.0 릴리스에 첨부되어 있습니다. 여기의 버튼은 해당 파일로 연결되는 링크이며, 이 사이트에서는 아무것도 제공하지 않습니다.

  1. about:debugging을 열고 이 Firefox → 임시 부가 기능 로드…를 선택한 다음 zip 파일을 지정합니다.
  2. 임시 부가 기능은 Firefox를 다시 시작하면 제거됩니다. 정식 Firefox는 addons.mozilla.org가 서명한 것만 영구적으로 설치하므로, 등록이 공개될 때까지는 이 방식으로 사용합니다.
  3. Firefox는 설치 시점에 확장 프로그램의 사이트 권한을 부여합니다. 그때 randbridge.org를 거부했다면 나중에 확장 프로그램의 권한 패널에서 허용하십시오.
Firefox 부가 기능 (.zip)
Firefox 140 이상 · 2.7 MB
다운로드
rand-wallet-firefox-0.8.0.zip
SHA-256 2982e605ba06dfac9de02e67652e3afc6d8b4d4ce20cb17225fe5c8335a503c6
다운로드한 파일 확인
SHA256SUMS
# SHA256SUMS를 파일과 같은 폴더에 내려받은 상태에서
shasum -a 256 -c SHA256SUMS --ignore-missing     # macOS
sha256sum -c SHA256SUMS --ignore-missing         # Linux

# 또는 파일 하나의 해시 합계를 출력하여 위의 값과 비교하십시오
shasum -a 256 rand-wallet-firefox-0.8.0.zip

합계가 일치하면 해당 파일이 게시된 파일과 같다는 뜻입니다. 그 파일이 소스에서 빌드되었다는 뜻은 아닙니다. 아직은 빌드가 비트 단위로 재현되지 않으므로, 이를 확인해야 한다면 직접 빌드하십시오.

전송

RandProtocol 증명자 또는 직접 운영하는 증명자를 통해 전송합니다

번들 증명은 메모리 사용량이 최대 약 6.2 GB에 달하는 반면 브라우저가 WebAssembly에 허용하는 메모리는 4 GiB이므로, 확장 프로그램은 스스로 증명을 생성하지 않습니다. 확장 프로그램은 전송을 구성하고, 증명자가 증명을 생성하게 하며(기본값은 RandProtocol 증명자, 또는 사용자가 연결한 증명자), 증명을 로컬에서 검증한 뒤 제출합니다.

기본 설정에서는 1회 안내 후 RandProtocol 증명자를 사용합니다. 내역을 증명자에게 노출하지 않으려면 같은 컴퓨터의 Rand Wallet 데스크톱 앱(설정 → 다른 기기를 위해 증명하기에서 링크를 복사하여 확장 프로그램의 설정 → Prover에 붙여넣기)을 연결하거나, 서버에서 직접 운영하는 rand-prover를 연결하십시오.

증명을 생성할 수 없는 기기는 기본적으로 RandProtocol 증명자를 사용합니다. 증명자는 검증자가 운영하는 몇 대의 머신(현재 네 대, https://prover.randprotocol.org 아래)이며 수수료는 없습니다. 0.6.9부터 각 증명자는 고유한 키를 가지며 지갑이 이를 고정(pin)하고, 지갑은 첫 전송 전에 이 사실을 알립니다. 전송의 증명을 생성하는 머신은 지갑의 열람 키와 일회용 솔트를 받습니다. 따라서 그 운영자는 수신과 송신을 포함한 지갑의 전체 내역을 읽을 수 있지만 자금을 사용할 수는 없습니다. 지출 키는 기기를 떠나지 않으며, 작은 승인 증명은 기기가 직접 생성합니다. 더 높은 프라이버시가 필요하면 설정 → Prover에서 직접 운영하는 증명자를 선택하십시오. 그러면 해당 증명자가 항상 우선 사용되며, 지갑은 모든 증명을 제출하기 전에 검증합니다.

prover 페어링 단계별 안내: docs/prover.md.

내 키

키가 보관되는 위치

지출 키는 지갑의 유일한 비밀입니다. 계정도 없고 사본을 보관하는 서버도 없습니다. 키를 잃으면 아무도 복구할 수 없으므로, 지갑이 키를 보여 줄 때 저장해 두십시오.

지출 키
운영체제의 난수로 지갑 코어 내부에서 생성되며, PBKDF2-SHA256 기반의 AES-256-GCM 보관함으로만 저장됩니다. 잠금이 해제된 동안에는 브라우저의 세션 스토리지에 있으며, 이 저장소는 브라우저를 닫으면 비워지고 웹 페이지가 읽을 수 없습니다.
화면에 표시되는 키
열람 키와 지출 키 내보내기는 잠금 해제와 동일한 비용이 드는 새 비밀번호 확인 뒤에 있습니다. 어떤 키도 URL, 콘솔, 확장 프로그램의 영구 저장소에 기록되지 않습니다.
자동 잠금
페이지 타이머가 아닌 브라우저 알람을 사용하므로, 팝업이 닫히고 백그라운드 워커가 휴면 상태가 된 뒤에도 지갑은 정해진 시간에 잠깁니다.
네트워크
설정의 RPC URL만 사용합니다. 이를 다른 곳으로 바꾸면 해당 호스트 한 곳에 접속할 권한을 요청합니다. 분석 도구도 원격 코드도 없습니다. 확장 프로그램은 설치 시 포함된 스크립트만 실행합니다.
기타

Swap, 그리고 Rand 사이트용 window.rand

지갑의 Swap 화면은 durian.market 풀을 통해 RAND와 토큰을 거래합니다. 체인상의 풀에서 정확한 수량을 조회한 뒤 스왑을 직접 증명하고 전송하며, durian.market은 window.rand.invoke를 통해 동일한 스왑을 요청할 수 있습니다.

randbridge.org는 확장 프로그램을 window.rand로 인식하며 연결을 요청할 수 있습니다. 연결하려면 잠금이 해제된 지갑과 해당 사이트에 대한 사용자의 승인이 필요하며, 연결된 사이트가 알게 되는 정보는 사용자의 주소와 브리지 수신자 해시뿐입니다.

소스에서 빌드

또는 직접 빌드하기

  1. 아래의 clients 저장소에서 확장 프로그램을 빌드하고 패키징합니다.
  2. about:debugging을 열고 이 Firefox → 임시 부가 기능 로드…를 선택한 다음 dist/firefox/manifest.json을 지정합니다.

툴체인: Rust 1.98.1, 저장소에 고정되어 있으며 rustup이 설치합니다. 빌드 가이드는 클린 머신에서 시작하여 모든 클라이언트를 다룹니다. 소스 디렉터리: firefox/, extension/, ui/, core/.

Firefox용 Rand Wallet
bash
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)
core/scripts/build-wasm.sh   # → extension/shared/core/ (wasm-bindgen-cli를 설치합니다)
firefox/pack.sh   # → dist/firefox/ 및 dist/rand-wallet-firefox-<version>.zip
npx web-ext lint --source-dir dist/firefox
모든 클라이언트

모든 플랫폼에서 지원하는 기능

지갑 만들기
기기에서 생성한 지출 키는 저장할 수 있도록 한 번만 표시되며, 이 키에서 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에서 열립니다.

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 크레이트와 동일합니다
다른 클라이언트

하나의 지갑, 모든 플랫폼

어디서나 동일한 키 파일, 주소 형식, 규칙을 사용합니다. 여기서 만든 지갑은 다른 어떤 클라이언트와 rand CLI에서도 가져올 수 있습니다.