Dokumenty

Dokumentacja FAIRDRUM

Tu zebrano wszystko o tym, jak zbudowana jest strona: od czego zacząć, jak rozliczana jest runda, gdzie leżą twoje SOL i co zrobiono, żeby to wszystko działało. Każdy dział to osobna strona ze szczegółami.

Dla gracza: od czego zacząć

Jak zbudowana jest gra

Twoje SOL i ochrona

Z czego składa się projekt

  • Smart kontrakt w sieci Solana. Przyjmuje stawki, przechowuje salda gry i pule, oblicza wynik rundy i wypłaty. Strona nie oblicza wypłat i nie może ich zmienić.
  • Strona — statyczne podstrony bez serwera z bazą danych graczy. Odczytuje kontrakt i przygotowuje transakcje, które podpisuje twój portfel.
  • Usługa dyżurna platformy — program na osobnym serwerze. Ujawnia sekret rundy, żeby kontrakt mógł ją rozliczyć, księguje przelewy z osobistych adresów wpłat i pilnuje, żeby w skarbcu było nie mniej niż wynoszą zobowiązania wobec graczy.

Co zrobiono, żeby strona doszła do tego stanu

Liczby poniżej policzono na podstawie kodu źródłowego i dzienników kontroli, stan na 13.11.2026.

Kontrakt

Około 2100 wierszy w Rust, liczba poleceń: 27. Automatyczne testy rozliczeń i księgowania: 37.

Strona

Gry: 16, podstrony: 37, języki: 14 — łącznie gotowych stron: 519. Około 10000 wierszy kodu i około 1600 fraz w każdym języku.

Kontrole kodu

Wewnętrzne przeglądy kodu z poprawieniem znalezionych błędów: 7; automatyczne testy strony: 83. Niezależnego zewnętrznego audytu na razie nie było.

Próby na kopii sieci

Na lokalnej kopii sieci Solana — kontrole rund: 117 (podrobienie sekretu, zwrot stawki, zmiana korzenia sekretów) oraz kontrole usługi dyżurnej: 28 (przestój, dwie kopie, cudzy plik sekretów).

Każda gra na żywo

Wszystkie gry (16) rozegrano w przeglądarce na prawdziwym kontrakcie: po każdej rundzie saldo na stronie porównano z saldem w kontrakcie. Sprawdzono oba sposoby logowania, wpłatę z giełdy i wypłatę.

Każda strona

Wszystkie strony we wszystkich językach otwarto na telefonie i na komputerze — liczba otwarć: 1008; bez błędów, pustych miejsc i poziomego przewijania.

Decyzje, które zmieniły projekt

  • Własne uczciwe losowanie zamiast zewnętrznej wyroczni. Pomiar pokazał, że wyrocznia zwracała tę samą liczbę w sieci testowej i w głównej, czyli liczbę rundy można było poznać z wyprzedzeniem. Wyrocznię usunięto; liczba rundy powstaje teraz z sekretu zapisanego przed stawką i hasha bloku stawki.
  • Zwrot stawki zamiast zawieszonej rundy. Jeśli platforma nie rozliczy rundy w terminie, kontrakt zwraca stawkę w całości, a zwrot trafia do jawnego licznika.
  • Osobisty adres wpłat. Każdy gracz ma własny adres w kontrakcie: SOL można wysłać z giełdy bez podpisu w portfelu.
  • Wejście bez własnego portfela. Strona tworzy portfel w przeglądarce gracza; klucz nie jest przekazywany ani stronie, ani platformie.
  • Na serwerze strony nie ma kluczy. Klucze platformy leżą tylko na osobnym serwerze kontraktu.

Czego jeszcze nie zrobiono

Niezależnego zewnętrznego audytu kontraktu nie przeprowadzono. Uprawnienie do aktualizacji programu ma na razie jeden klucz platformy, a nie multisig. Tłumaczenia stron nie zostały sprawdzone przez rodzimych użytkowników języków. Więcej o ograniczeniach — na stronach „Uczciwe losowanie” i „Ochrona gracza”.