Periksa kejujuran sendiri
Semua yang dikatakan situs tentang kontrak dapat dicocokkan dengan data terbuka jaringan. Di bawah ini pemeriksaan dari yang paling sederhana (dua menit) hingga yang paling dalam (membangun kode). Sebagian besar tidak memerlukan pemrograman.
Cara kerja pemeriksaan
Situs bisa dipalsukan atau keliru, tetapi catatan di blockchain tidak. Karena itu, periksalah bukan di situs proyek, melainkan di explorer jaringan: situs independen yang menampilkan isi blockchain (Solscan, Solana Explorer, SolanaFM, dan sejenisnya). Buka salah satunya sendiri, bukan lewat tautan dari pesan orang lain.
Pemeriksaan memerlukan dua alamat: program (kontrak) dan token. Keduanya ditampilkan halaman “Keamanan”. Cocokkan keduanya di sedikitnya dua tempat independen lain (repositori, kanal resmi): jika alamatnya berbeda, Anda sedang coba ditipu.
Pemeriksaan cepat (2–10 menit)
| Apa yang diperiksa | Di mana melihatnya | Yang seharusnya | Jika berbeda |
|---|---|---|---|
| 1. Bisakah token baru dicetak | Halaman token di explorer, kolom Mint Authority | Kosong (dicabut) | Pemilik alamat yang tercantum dapat menerbitkan token sebanyak apa pun dan membuat token Anda tak bernilai. |
| 2. Bisakah token dibekukan | Halaman yang sama, kolom Freeze Authority | Kosong | Pemiliknya dapat membekukan dompet mana pun, termasuk milik Anda. |
| 3. Siapa yang dapat mengubah kode | Halaman program, kolom Upgrade Authority | Kosong (kode dibekukan) atau alamat multisig dengan penundaan pembaruan | Satu alamat biasa berarti pemiliknya bisa kapan saja mengunggah aturan lain. |
| 4. Total penerbitan token | Halaman token: Supply | Tidak lebih dari 100.000.000.000 dan hanya berkurang karena pembakaran | Lebih dari itu berarti penerbitan pernah ditambah. |
| 5. Apakah tokennya sama | Alamat token di dompet Anda dibandingkan halaman “Keamanan” | Alamat identik karakter demi karakter | Itu bukan FAIRDRUM asli. Jangan beli dan jangan setorkan. |
| 6. Cukupkah token di penyimpanan | Alamat penyimpanan dari halaman “Keamanan”, saldo tokennya; jumlah pot di halaman “Ekonomi” | Saldo penyimpanan tidak kurang dari jumlah pot (ditambah saldo permainan para pemain) | Kontrak harus selalu tertutup penuh oleh token. Selisih adalah sinyal serius. |
Tabel teratas di halaman “Keamanan” membaca kolom yang sama langsung dari jaringan dan menandai ✔ atau ⚠, tetapi jangan hanya mengandalkannya: cocokkan sekali sendiri.
Memeriksa spin Anda sendiri
Setiap spin meninggalkan catatan di jaringan, dan hasil di layar bisa dicocokkan dengannya.
Temukan transaksinya
Setelah spin, di bawah tombol muncul tautan “Transaksi”. Tautan itu membuka catatannya di explorer. Atau buka riwayat dompet Anda di explorer dan pilih transaksi dengan program FAIRDRUM.
Yang seharusnya: status Success dan daftar instruksi.
Temukan dua panggilan
Di transaksi pertama — panggilan program FAIRDRUM
spin_commit(taruhan), yang di dalamnya terlihat panggilan bersarang ke program ORAO (permintaan keacakan). Di yang kedua —spin_settle(penyelesaian). Explorer menampilkan nama sedikit berbeda (SpinCommit, spinCommit).Bandingkan urutannya
Taruhan tercatat lebih dulu daripada angka diungkap: transaksi pertama punya nomor blok (Slot) lebih kecil dari yang kedua. Artinya, baik Anda maupun proyek tidak tahu hasilnya pada saat taruhan.
Lihat log (Logs) transaksi kedua
Di sana tercatat event
SpinSettleddengan jumlah spin, hadiah, serta perolehan mini jackpot, jackpot, dan super jackpot. Angkanya sama dengan yang ditampilkan roda.Periksa pemilik keacakan
Akun keacakan yang disebut dalam transaksi harus milik program ORAO (VRFzZoJd…). Kontrak menolak sendiri akun lain, tapi layak dicek: buka akunnya dan lihat kolom Owner.
Pemeriksaan mendalam
Membangun kode dan membandingkan hash
Ambil repositori proyek di GitHub (tautan muncul setelah publikasi), bangun program dalam mode tereproduksi (anchor build --verifiable), dan bandingkan hash-nya dengan yang di jaringan (solana-verify). Jika cocok, berarti yang berjalan di jaringan persis kode terbuka ini.
Membaca konstanta
Semua angka permainan terkumpul dalam satu file consts.rs: porsi, peluang, tangga hadiah, biaya, tenggat. Situs menggambar tabelnya justru dari file itu, dan seharusnya tidak ada selisih antara situs dan kontrak.
Menjalankan pengujian
Repositori berisi pengujian aturan dan perhitungan (cargo test) serta klien (npm test). Misalnya, pengujian memeriksa bahwa jumlah semua pool dan saldo tidak melebihi token di penyimpanan.
Membedah cara hasil dipilih
Dari 32 byte keacakan yang diungkap, kontrak menurunkan angka lewat SHA-256. Untuk roda utama, bloknya SHA-256("FDRM-M" + keacakan + nomor blok), dan dari sana diambil 4 byte (little-endian) per angka untuk setiap spin yang dijalankan. Untuk roda emas: SHA-256("FDRM-G" + keacakan + nomor spin yang dijalankan). Angkanya dibandingkan dengan ambang dalam pecahan 232; ambang itu sendiri bergantung pada volume mingguan dan ukuran pot pada saat perhitungan, sehingga menghitung ulang spin lama secara utuh hanya bisa bersama keadaan program pada slot itu. Rumusnya ada di math.rs dan engine.rs.
Membaca log selama satu periode
Siapa pun dapat mengunduh dari jaringan semua event SpinSettled selama satu periode dan menghitung sendiri frekuensi emas serta ukuran pot. Bandingkan dengan “Peluang”. Pada jumlah spin kecil, sebarannya sangat besar: untuk melihat peluang 1%, dibutuhkan ribuan spin.
Yang tidak bisa diperiksa
- Kejujuran oracle. Keacakan datang dari node ORAO. Kontrak memverifikasi bahwa angka berasal dari akun yang benar, ditulis program mereka, dan muncul setelah taruhan, tetapi tidak bisa memverifikasi bahwa node oracle tidak bersekongkol. Ini ketergantungan eksternal.
- Ketiadaan kesalahan di kode. Pengujian dan kode terbuka menambah keyakinan, tetapi tidak dapat menggantikan audit independen. Selama tautan audit belum dicantumkan, auditnya tidak ada.
- Masa depan. Selama hak pembaruan belum dicabut, aturan bisa berubah lewat versi baru. Pantau transaksi pembaruan program.
- Apa yang dilakukan administrator di luar kontrak. Penjualan tokennya, pemasaran, dan keputusan listing tidak dikontrol kontrak. Pembayaran dari dana promosi bersifat publik, tetapi “untuk apa” tidak diperiksa kontrak.