Untuk pengembang
Kode FAIRDRUM terbuka di bawah lisensi MIT: kontrak, situs, skrip peluncuran, dan pengujian berada dalam satu repositori (tautan akan muncul di sini setelah publikasi). Berikut penjelasan singkat tentang cara semuanya disusun dan cara menjalankan salinan Anda sendiri.
Struktur
| Folder | Isinya |
|---|---|
programs/fairdrum/ | Kontrak ditulis dengan Rust dan Anchor 1.2.2. Angka-angka permainan ada di consts.rs, sedangkan perhitungannya di engine.rs dan math.rs berupa fungsi biasa, sehingga pengujian berjalan tanpa jaringan. |
app/ | Situs: Vite dan TypeScript, halaman di app/src/pages/, klien kontrak dan penanganan Switchboard di app/src/chain/. Tabel angka di situs dihasilkan dari consts.rs, sehingga tidak berbeda dari kontrak. |
scripts/ | Peluncuran: penerbitan token, inisialisasi, pemeriksaan pengaturan yang tersimpan, uji di devnet, pembayaran layanan, “keeper” opsional. |
docs/ | ARCHITECTURE.md (cara semuanya disusun), LAUNCH.md (peluncuran langkah demi langkah), AUDIT.md (pemeriksaan keamanan mandiri dan masalah yang masih terbuka). |
e2e/ | Pengujian situs di browser sungguhan dengan dompet palsu dan jaringan palsu. |
Proyek ini tidak memiliki server maupun basis data: situs terdiri dari berkas biasa dan membaca data langsung dari kontrak.
Jalankan sendiri
Diperlukan Node.js 20.19 atau lebih baru, dan Rust untuk menguji kontrak.
npm install
npm run dev # situs di localhost, tanpa kontrak dalam mode demo
npm test # pengujian klien
cargo test -p fairdrum --release # pengujian kontrak
npm run build # situs di folder dist/
npm run build:single # versi offline: berkas html terpisah, dibuka dengan klik dua kali
Peluncuran langkah demi langkah di devnet dan mainnet, lengkap dengan perintah dan uraian kesalahan yang sering terjadi: docs/LAUNCH.md di repositori.
Pengaturan tanpa membangun ulang
Berkas config.json berada di samping halaman dan dibaca setiap kali dimuat, sehingga alamat kontrak, node jaringan, dan tautan dapat diubah tanpa build. programId yang kosong mengaktifkan mode demo.
{
"programId": "alamat program setelah peluncuran",
"cluster": "mainnet-beta",
"rpc": "https://...",
"swapUrl": "tautan untuk menukar FAIRDRUM, jika sudah ada",
"links": { "github": "...", "telegram": "...", "x": "...", "audit": "..." }
}
Alamat situs, deskripsi halaman, dan verifikasi untuk webmaster diatur di app/seo.json dan app/pages.json; npm run gen:html membangun ulang halaman, peta situs, dan robots.txt berdasarkan berkas tersebut.
Memeriksa kode
Pengujian
Logika kontrak diuji tanpa jaringan, termasuk dengan “badai” puluhan ribu operasi acak: setelah setiap operasi, token di penyimpanan harus persis sama dengan kewajiban. Pengujian itu sendiri diperiksa dengan “mutasi”: jika dalam perhitungan digeser saja satu satuan terkecil, pengujian gagal.
Yang belum diperiksa
Build untuk Solana, kerja langsung dengan Switchboard, dan audit independen: status proyek. Pemeriksaan internal tidak menggantikan audit, dan docs/AUDIT.md mencantumkan apa saja yang masih terbuka.
Pencocokan dengan jaringan
Setelah peluncuran, cocokkan kode yang dipublikasikan dengan program di jaringan sesuai petunjuk “Periksa kejujuran”. Alamat program dan token dapat dibaca di halaman “Tautan resmi”.
Jika situs fairdrum.to tidak dapat diakses
Saldo permainan disimpan di kontrak, bukan di situs. Situs hanyalah pembungkus yang praktis, dan penarikan dapat dilakukan dari salinan mana pun.
- Pastikan alamat diketik dengan benar, lalu buka situs dari bookmark. Jika hanya situs ini yang tidak dapat diakses, tunggu: gangguan sementara pada hosting kadang terjadi.
- Buka salinan situs: repositori terbuka, dan situs hanyalah berkas biasa. Unduh versi offline atau bangun sendiri (
npm run build), letakkanconfig.jsondengan alamat program yang sebenarnya di sampingnya (alamatnya dapat dicocokkan di halaman “Tautan resmi” dan di explorer), lalu buka melalui web server sederhana apa pun, misalnyanpx vite preview. - Hubungkan dompet yang sama. Saldo, peringkat, dan streak akan dibaca dari kontrak, dan penarikan bekerja sama seperti di situs utama.
- Jangan memasukkan frasa pemulihan di “mirror” mana pun. Situs tidak pernah memintanya: salinan mana pun yang memintanya adalah palsu.
Periksa salinan situs dari sumber lain: bandingkan kodenya dengan repositori proyek. Tanpa itu, Anda tidak tahu apa persisnya yang akan Anda tanda tangani. Lebih aman jika Anda membangunnya sendiri.
Lisensi
MIT: kode boleh dibaca, disalin, diubah, dan dijalankan, termasuk untuk tujuan komersial, dengan tetap menyertakan teks lisensi. Lisensi ini mencakup kode, bukan nama dan alamat fairdrum.to: fork dengan aturan yang berbeda tidak boleh menyamar sebagai proyek ini.