प्रोजेक्ट

डेवलपर्स के लिए

FAIRDRUM का कोड MIT लाइसेंस के तहत खुला है: कॉन्ट्रैक्ट, साइट, लॉन्च स्क्रिप्ट और टेस्ट एक ही जगह रखे हैं: रिपॉज़िटरी (प्रकाशन के बाद लिंक यहां दिखेगा)। यहां संक्षेप में बताया गया है कि सब कुछ कैसे बना है और अपनी कॉपी कैसे चलाएं।

संरचना

फ़ोल्डरअंदर क्या है
programs/fairdrum/Rust और Anchor 1.2.2 पर कॉन्ट्रैक्ट। खेल की संख्याएं consts.rs में हैं, गणनाएं engine.rs और math.rs में सामान्य फ़ंक्शन के रूप में हैं, इसलिए टेस्ट नेटवर्क के बिना चलते हैं।
app/साइट: Vite और TypeScript, पेज app/src/pages/ में, कॉन्ट्रैक्ट का क्लाइंट और Switchboard के साथ काम app/src/chain/ में। साइट पर संख्याओं की तालिकाएं consts.rs से बनती हैं, इसलिए वे कॉन्ट्रैक्ट से अलग नहीं पड़तीं।
scripts/लॉन्च: टोकन जारी करना, इनिशियलाइज़ेशन, दर्ज की गई सेटिंग की जांच, devnet पर टेस्ट, प्रशासनिक भुगतान, वैकल्पिक “कीपर”।
docs/ARCHITECTURE.md (सब कुछ कैसे बना है), LAUNCH.md (चरण-दर-चरण लॉन्च), AUDIT.md (सुरक्षा की खुद की जांच और खुले सवाल)।
e2e/असली ब्राउज़र में साइट की जांच, नकली (मॉक) वॉलेट और नकली (मॉक) नेटवर्क के साथ।

प्रोजेक्ट में न सर्वर है, न डेटाबेस: साइट सामान्य फ़ाइलों से बनी है और डेटा सीधे कॉन्ट्रैक्ट से पढ़ती है।

अपने यहां चलाएं

Node.js 20.19 या उससे नया और कॉन्ट्रैक्ट के टेस्ट के लिए Rust चाहिए।

npm install
npm run dev                         # localhost पर साइट, कॉन्ट्रैक्ट के बिना डेमो मोड में
npm test                            # क्लाइंट के टेस्ट
cargo test -p fairdrum --release    # कॉन्ट्रैक्ट के टेस्ट
npm run build                       # dist/ फ़ोल्डर में साइट
npm run build:single                # ऑफ़लाइन वर्शन: अलग-अलग html फ़ाइलें, डबल-क्लिक से खुलती हैं

devnet और मुख्य नेटवर्क पर चरण-दर-चरण लॉन्च, कमांड और आम गलतियों के विश्लेषण के साथ: रिपॉज़िटरी में docs/LAUNCH.md।

बिना री-बिल्ड के सेटिंग

config.json फ़ाइल पेजों के बगल में रहती है और हर लोड पर पढ़ी जाती है, इसलिए कॉन्ट्रैक्ट का पता, नेटवर्क का नोड और लिंक बिना बिल्ड के बदले जा सकते हैं। खाली programId डेमो मोड चालू कर देता है।

{
  "programId": "लॉन्च के बाद प्रोग्राम का पता",
  "cluster": "mainnet-beta",
  "rpc": "https://...",
  "swapUrl": "FAIRDRUM के एक्सचेंज का लिंक, जब वह आए",
  "links": { "github": "...", "telegram": "...", "x": "...", "audit": "..." }
}

साइट का पता, पेजों के विवरण और वेबमास्टर की पुष्टियां app/seo.json और app/pages.json में तय होती हैं; npm run gen:html इनके आधार पर पेज, साइटमैप और robots.txt फिर से बनाता है।

कोड की जांच

टेस्ट

कॉन्ट्रैक्ट का लॉजिक नेटवर्क के बिना जांचा जाता है, जिसमें दसियों हज़ार रैंडम ऑपरेशन का “स्टॉर्म” भी शामिल है: हर ऑपरेशन के बाद वॉल्ट में टोकन ठीक देनदारियों के बराबर होने चाहिए। टेस्ट को “म्यूटेशन” से परखा गया है: अगर गणना में एक न्यूनतम इकाई भी खिसका दी जाए, तो वह फ़ेल हो जाता है।

क्या जांचा नहीं गया

Solana के लिए बिल्ड, Switchboard के साथ असली काम और स्वतंत्र ऑडिट: प्रोजेक्ट की स्थिति। आंतरिक जांच ऑडिट की जगह नहीं लेती, और docs/AUDIT.md में बताया गया है कि क्या खुला रह गया है।

नेटवर्क से मिलान

लॉन्च के बाद प्रकाशित कोड को नेटवर्क पर मौजूद प्रोग्राम से “निष्पक्षता की जांच” के निर्देश के अनुसार मिलाएं। प्रोग्राम और टोकन के पते “आधिकारिक लिंक” पेज पर पढ़े जा सकते हैं।

अगर fairdrum.to साइट उपलब्ध न हो

आपके टोकन कहीं नहीं जाते।

गेम बैलेंस कॉन्ट्रैक्ट में रखा जाता है, साइट पर नहीं। साइट एक सुविधाजनक आवरण है, और निकासी उसकी किसी भी कॉपी से की जा सकती है।

  1. जांच लें कि पता सही लिखा है, और साइट को बुकमार्क से खोलें। अगर सिर्फ़ वही उपलब्ध नहीं है, तो इंतज़ार करें: होस्टिंग में अस्थायी गड़बड़ी हो सकती है।
  2. साइट की कॉपी खोलें: रिपॉज़िटरी खुली है, और साइट सामान्य फ़ाइलें हैं। ऑफ़लाइन वर्शन डाउनलोड करें या अपनी बिल्ड बनाएं (npm run build), उसके बगल में प्रोग्राम के असली पते वाली config.json रखें (उसे “आधिकारिक लिंक” पेज पर और एक्सप्लोरर में मिलाया जा सकता है) और किसी भी साधारण वेब सर्वर से खोलें, जैसे npx vite preview।
  3. वही वॉलेट कनेक्ट करें। बैलेंस, रैंक और स्ट्रीक कॉन्ट्रैक्ट से पढ़े जाएंगे, और निकासी उसी तरह काम करती है जैसे मुख्य साइट पर।
  4. किसी भी “मिरर” पर सीक्रेट फ्रेज़ न डालें। साइट उसे कभी नहीं मांगती: जो भी कॉपी मांगे, वह नकली है।

किसी और के स्रोत से मिली साइट की कॉपी को जांचें: कोड को प्रोजेक्ट की रिपॉज़िटरी से मिलाएं। इसके बिना आपको पता नहीं होता कि आप असल में क्या साइन कर रहे हैं। खुद बिल्ड करना ज़्यादा भरोसेमंद है।

लाइसेंस

MIT: कोड को पढ़ा, कॉपी, बदला और चलाया जा सकता है, व्यावसायिक उद्देश्यों के लिए भी, बशर्ते लाइसेंस का पाठ साथ रखा जाए। लाइसेंस कोड पर लागू होता है, नाम और पते fairdrum.to पर नहीं: अलग नियमों वाला फ़ोर्क खुद को इस प्रोजेक्ट के रूप में पेश नहीं करना चाहिए।