Rand Protocol
Web

Rand Wallet w przeglądarce

Ten sam portfel w zwykłej karcie przeglądarki, serwowany z Twojego komputera przez mały serwer nasłuchujący wyłącznie na pętli zwrotnej. Celowo nie jest nigdzie hostowany: portfel webowy jest tak godny zaufania, jak źródło, które go serwuje, a to serwujesz Ty.

Nie jest hostowany nigdzie. Uruchom go z kopii repozytorium klientów albo z archiwum ze źródłami, poniżej.

Ikona Rand Wallet
Zbudowano w
JavaScript · rdzeń WebAssembly
Dystrybucja przez
kopia repozytorium clients, serwowana na Twoim własnym komputerze
Wymaga
Node 20 lub nowszy; aktualna przeglądarka
Wysyłanie
Wysyła przez prover RandProtocol lub Twój własny
Pobieranie

Wersja 0.8.0

Pliki są dołączone do wydania v0.8.0 na GitHub; przyciski tutaj są odnośnikami do nich, a z tej witryny nie jest serwowany żaden plik.

  1. Rozpakuj go i uruchom wewnątrz web/wallet/serve.sh, dokładnie tak jak z kopii git. Archiwum zawiera submoduł pełnego węzła, którego własne archiwa „Source code” z GitHub nie obejmują.
Źródła (.tar.gz)
repozytorium clients i jego submoduł w jednym archiwum · 13.2 MB
Pobierz
rand-wallet-0.8.0-source.tar.gz
SHA-256 91f765f8cb6853914b49b26c1ba76d467c6e02d63a3f590acac3a155b977328d
Sprawdź pobrany plik
SHA256SUMS
# z plikiem SHA256SUMS pobranym do tego samego folderu co plik
shasum -a 256 -c SHA256SUMS --ignore-missing     # macOS
sha256sum -c SHA256SUMS --ignore-missing         # Linux

# albo wypisz sumę jednego pliku i porównaj ją z podaną powyżej
shasum -a 256 rand-wallet-0.8.0-source.tar.gz

Zgodna suma oznacza, że plik jest tym, który został opublikowany. Nie oznacza, że plik zbudowano z kodu źródłowego: kompilacje nie są jeszcze odtwarzalne bit po bicie, więc jeśli właśnie to chcesz wiedzieć, zbuduj go samodzielnie.

Wysyłanie

Wysyła przez prover RandProtocol lub Twój własny

Dowód pakietu osiąga szczyt około 6,2 GB pamięci, a przeglądarka daje WebAssembly 4 GiB, więc portfel webowy nigdy nie dowodzi sam. Buduje transfer, zleca proverowi wygenerowanie dowodu (domyślnie prover RandProtocol lub sparowany przez Ciebie), sprawdza dowód lokalnie i go przesyła.

Aby ukryć swoją historię przed proverem RandProtocol, sparuj aplikację desktopową Rand Wallet na tym samym komputerze (Settings → Prove for my other devices) lub własny rand-prover. Dowód w toku istnieje wyłącznie w pamięci karty; przeładowanie strony w trakcie dowodzenia o nim zapomina i nic nie zostaje wysłane.

Urządzenie, które nie może wygenerować dowodu, domyślnie korzysta z proverów RandProtocol: kilku maszyn prowadzonych przez validatorów (obecnie czterech, pod https://prover.randprotocol.org), bez opłaty. Od 0.6.9 każdy ma własny klucz, który portfel przypina, i portfel informuje o tym przed pierwszym wysłaniem. Maszyna, która dowodzi wysyłkę, otrzymuje klucz podglądu portfela i jednorazową sól: jej operator może odczytać całą historię portfela, każdą płatność otrzymaną i wysłaną, ale nie może wydawać środków. Klucz wydawania nigdy nie opuszcza Twojego urządzenia, które samo generuje mały dowód autoryzacji. Dla większej prywatności wybierz własny prover w Settings → Prover; jest on wtedy zawsze preferowany, a portfel sprawdza każdy dowód przed jego przesłaniem.

Parowanie provera, krok po kroku: docs/prover.md.

Twoje klucze

Gdzie przechowywany jest klucz

Klucz wydawania (spend key) to jedyny sekret portfela. Nie ma konta ani serwera przechowującego jego kopię: po utracie klucza nikt go nie odtworzy, więc zapisz go, gdy portfel go wyświetli.

Klucz wydawania
Zaszyfrowany w spoczynku w IndexedDB: AES-256-GCM pod PBKDF2-SHA256 przy 600 000 iteracji. Po odblokowaniu istnieje wyłącznie w pamięci strony, więc przeładowanie blokuje portfel. Nigdy nie trafia do localStorage, adresu URL ani komunikatu o błędzie.
Odblokowanie
Błędne hasła są ograniczane rosnącym czasem oczekiwania przed każdą próbą, a licznik przetrwa przeładowanie.
Serwer
Wiąże się wyłącznie z 127.0.0.1, odrzuca każdy inny nagłówek Host, serwuje pliki statyczne i nic więcej, pod rygorystyczną Content-Security-Policy: bez skryptów inline i bez skryptów zdalnych.
Karty
Dwie karty portfela bezpiecznie współdzielą jeden magazyn: jedna skanuje w danej chwili, a pozostałe odczytują to, co zapisała.
Uruchom

Uruchom z kopii repozytorium

  1. Sklonuj repozytorium clients i uruchom web/wallet/serve.sh, a następnie otwórz http://127.0.0.1:8787/. Pierwsze uruchomienie buduje rdzeń WebAssembly, co trwa kilka minut; potem start to kopiowanie plików.
  2. Jeśli znajdziesz Rand Wallet pod jakimś zdalnym adresem URL, ufaj mu dokładnie tak, jak osobie prowadzącej ten serwer. W sprawach, na których Ci zależy, używaj aplikacji desktopowej lub rozszerzenia przeglądarki.

Zestaw narzędzi: Rust 1.98.1, przypięty w repozytorium i instalowany przez rustup. Przewodnik budowania obejmuje każdego klienta, zaczynając od czystej maszyny. Katalogi ze źródłami: web/wallet/, ui/, core/.

Rand Wallet w przeglądarce
bash
git clone --recurse-submodules https://github.com/randprotocol/clients.git && cd clients
git checkout v0.8.0 && git submodule update --init   # wydanie; core/vendor/fullnode @ v0.8.0 (c0878c3)
web/wallet/serve.sh   # zbuduj, a następnie serwuj pod http://127.0.0.1:8787/
RAND_WALLET_PORT=9000 web/wallet/serve.sh   # na innym porcie
Każdy klient

Co robi na każdej platformie

Utwórz portfel
Klucz wydawania generowany na urządzeniu, pokazany jednorazowo do zapisania, oraz wyprowadzony z niego adres rand1…. Zaimportuj istniejący klucz lub wallet.key.json z rand CLI; każdy klient eksportuje ten sam plik.
Odbieraj i wysyłaj
Twoje saldo to zbiór notatek, które może otworzyć tylko Twój klucz; portfel skanuje drzewo zobowiązań, aby je znaleźć. Transfer RAND lub dowolnego tokena RPL z listy to jeden pakiet 4-in-4-out autoryzowany dowodem. Nikt nie dowiaduje się, kto jest nadawcą, kto odbiorcą, jaka kwota ani który składnik majątku został przesłany.
Faucet
W testnet z otwartym faucetem jedno dotknięcie wybija 100 RAND do notatki, którą może otworzyć tylko Ty.
Ujawniaj tylko to, co wybierzesz
Skopiuj swój klucz podglądu i otwórz My history w RandScan, aby zobaczyć każdą notatkę wysłaną lub otrzymaną, albo skopiuj klucz transakcji jednej płatności, aby ujawnić dokładnie tę płatność i nic więcej. Eksplorator odszyfrowuje w Twojej przeglądarce i nigdzie nie wysyła klucza.

Klucze podglądu i klucze transakcji otwierają się w randscan.org.

Uwagi o testnecie

Zanim cokolwiek wyślesz

Łańcuch
Publiczny punkt końcowy obsługuje chain 21, działający od 12 Oct 2026 10:31 UTC (wydany na fullnode v0.8.0). Rdzeń portfela dołącza fullnode v0.8.0 (c0878c3) jako zależność vendorowaną i odrzuca każdy inny chain: chain 21 działa na zestawie ograniczeń 9, więc portfel 0.7.x nie może na nim wysyłać, a to wydanie nie może wysyłać na chain 20. Klucze i adresy są przenoszone; portfel, który skanował chain 20, raz wyświetla baner o innym chain i ponownie skanuje od bloku genezy chain 21. Wpłaty i wypłaty przez most mają opłatę 0,1% w zUSD, którą portfel pokazuje przed wypłatą.
Endpoint RPC
Settings → Network. Domyślnie https://rpc.randprotocol.org; działa każdy rand-node RPC, do którego masz dostęp, a zapisany adres URL jest sprawdzany, zanim zostanie zachowany
Dowodzenie
Dowód pakietu osiąga szczyt około 6,2 GB pamięci i trwa około minuty na procesorze laptopa
Status
Eksperymentalne oprogramowanie testnet. Bez audytu. RAND w testnet nie ma realnej wartości
Licencja
GPL-3.0-only, tak jak crate'y pełnego węzła, które linkuje każdy klient
Inni klienci

Jeden portfel, każda platforma

Ten sam plik klucza, ten sam format adresu i te same zasady wszędzie: portfel utworzony tutaj importuje się do każdego innego klienta i do CLI rand.