Bienvenue ! Ce guide vous aidera à démarrer avec le projet, que vous soyez développeur ou contributeur non-technique.
# Dans votre terminal (Git Bash sur Windows)
cd "C:\Users\DEEPGAMING\MultiversX\X-CIRCLE-X-MULTIVERTUEU-X"
# Initialiser le repository git
git init
# Ajouter tous les fichiers
git add .
# Premier commit
git commit -m "🎉 Initial commit: xCircle DAO project structure
- Complete documentation (README, WHITEPAPER, CONTRIBUTING)
- Smart contract CircleManager (Rust/MultiversX)
- Business plan and roadmap
- GitHub templates and CI/CD setup
- Project structure ready for development"
# Créer le repository sur GitHub (via interface web)
# Puis lier le repo local au remote:
git remote add origin https://github.com/[VOTRE-USERNAME]/xcircle-dao.git
# Pousser le code
git branch -M main
git push -u origin mainAlternative plus simple :
- Allez sur https://github.com/new
- Nommez le repo :
xcircle-dao - Description : "Decentralized ROSCA platform on MultiversX"
- Public (pour open-source)
- Ne cochez PAS "Initialize with README" (on l'a déjà !)
- Cliquez "Create repository"
- Suivez les instructions "push an existing repository"
# 1. Installer Rust
# Visitez: https://rustup.rs/
# Ou exécutez:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# 2. Installer Python 3.8+ (pour mxpy)
# Téléchargez depuis: https://www.python.org/downloads/
# 3. Installer mxpy (MultiversX CLI)
pip3 install multiversx-sdk-cli --upgrade
# 4. Vérifier les installations
rustc --version # Devrait afficher: rustc 1.75+ ou supérieur
mxpy --version # Devrait afficher: mxpy 9.x.x
# 5. Compiler le contrat Circle Manager
cd contracts/circle-manager
mxpy contract buildRésultat attendu :
- Fichier
output/circle-manager.wasmcréé ✅ - Fichier
output/circle-manager.abi.jsoncréé ✅
# 1. Installer Node.js v18+
# Téléchargez depuis: https://nodejs.org/
# 2. Installer pnpm (gestionnaire de paquets rapide)
npm install -g pnpm
# 3. Vérifier
node --version # v18+ ou supérieur
pnpm --version # 8.x ou supérieurPour tester sur Devnet (réseau de test) :
Option 1 : Via mxpy (ligne de commande)
# Créer un nouveau wallet
mxpy wallet derive ./wallet-dev.pem
# ⚠️ IMPORTANT : Notez la seed phrase affichée !
# Gardez le fichier wallet-dev.pem SECRET !Option 2 : Via xPortal Web Wallet
- Allez sur https://devnet-wallet.multiversx.com
- Cliquez "Create Wallet"
- Sauvegardez votre seed phrase (24 mots) !!
- Notez votre adresse (commence par erd1...)
Obtenir des tokens de test :
- Allez sur https://devnet-wallet.multiversx.com/faucet
- Collez votre adresse
- Cliquez "Request" → Vous recevez 30 xEGLD
Priorité 1 : Ajouter des tests
cd contracts/circle-manager
# Créer fichier de test
# Le contenu sera dans tests/circle_manager_test.rsTâches :
- Écrire tests unitaires pour
createCircle - Tester le flux complet d'admission membre
- Tester contributions et distributions
- Vérifier calcul des frais (3%)
- Atteindre 80%+ test coverage
Smart Contract :
- Déployer sur Devnet
- Tester avec plusieurs wallets
- Créer un cercle test
- Documenter l'adresse du contrat
Frontend :
cd dapp
# Initialiser le projet React
pnpm create vite . --template react-ts
# Installer dépendances
pnpm install
# Installer MultiversX SDK
pnpm add @multiversx/sdk-core @multiversx/sdk-dapp @multiversx/sdk-network-providers
# Installer TailwindCSS
pnpm add -D tailwindcss postcss autoprefixer
npx tailwindcss init -p
# Lancer le serveur de dev
pnpm devTâches Frontend :
- Setup connexion xPortal
- Page d'accueil (landing)
- Page explorer (liste cercles)
- Page création de cercle
- Intégration avec smart contract
NFT de Réputation :
- Créer contrat ReputationNFT
- Dessiner les 5 niveaux de NFT
- Intégrer avec CircleManager
- Tests
Token $XCIRCLE :
- Émettre token ESDT sur Devnet
- Créer contrat de gouvernance basique
- Implémenter staking simple
- Tests
Utilisez GitHub Projects :
- Créez un Project sur GitHub (onglet "Projects")
- Utilisez un Kanban board :
- To Do
- In Progress
- Review
- Done
- Créez des issues pour chaque tâche
- Assignez-vous les issues
Branches Git :
# Ne travaillez JAMAIS directement sur main !
# Créer une branche pour chaque feature
git checkout -b feature/add-tests
# ... faire vos modifications ...
git add .
git commit -m "test: add unit tests for createCircle"
git push origin feature/add-tests
# Puis créez une Pull Request sur GitHub
# Reviewez vous-même avant de mergerDocumentez au fur et à mesure :
- ✅ Commentez votre code (surtout en français pour vous aider)
- ✅ Mettez à jour le README quand vous ajoutez des features
- ✅ Notez les décisions importantes dans
docs/
Exemple de bonne pratique :
/// Crée un nouveau cercle d'épargne rotative
///
/// Cette fonction initialise un cercle avec les paramètres fournis.
/// Le créateur devient automatiquement le premier membre.
///
/// # Arguments
/// * `contribution_amount` - Montant en EGLD par cycle (> 0)
/// * `cycle_duration` - Durée en secondes (minimum 1 jour = 86400)
/// * `max_members` - Entre 3 et 50 membres
///
/// # Returns
/// L'ID unique du cercle créé (u64)
///
/// # Errors
/// - "Contribution must be greater than 0" si montant = 0
/// - "Members must be between 3 and 50" si hors limites
/// - "Cycle must be at least 1 day" si durée < 1 jour
#[endpoint(createCircle)]
fn create_circle(...) { ... }Testez chaque feature :
# Tests unitaires Rust
cd contracts/circle-manager
cargo test
# Tests avec mxpy (scénarios)
mxpy contract test
# Tests manuels sur Devnet
mxpy contract call ...Checklist avant de commiter :
- Le code compile sans warnings
- Les tests passent
- La documentation est à jour
- Le code est formaté (
cargo fmt) - Pas de fichiers secrets (.pem, .env)
Où chercher de l'aide :
MultiversX :
- 📚 Docs officielles : https://docs.multiversx.com
- 💬 Discord MultiversX : https://discord.gg/multiversx
- 📖 Exemples : https://github.com/multiversx/mx-sdk-rs/tree/master/contracts/examples
Rust :
- 📚 The Rust Book (en français) : https://jimskapt.github.io/rust-book-fr/
- 💬 Forum Rust FR : https://users.rust-lang.org/
React/Frontend :
- 📚 React Docs : https://react.dev
- 📚 MultiversX dApp Template : https://github.com/multiversx/mx-template-dapp
AI Assistants :
- Claude Code (moi ! 😊) - continuez à me poser des questions
- GitHub Copilot
- ChatGPT pour questions générales
- Structure projet
- Documentation (README, WHITEPAPER)
- Smart contract CircleManager de base
- Configuration build
- Tests unitaires CircleManager (>80% coverage)
- Déploiement Devnet
- Frontend React setup
- Connexion xPortal fonctionnelle
- Interface création cercle
- Interface liste/explorer cercles
- Dashboard utilisateur
- Intégrations blockchain complètes
- NFT Réputation contract
- Token $XCIRCLE
- Tests end-to-end
- Documentation utilisateur
Smart Contracts MultiversX :
# Cloner les exemples officiels
git clone https://github.com/multiversx/mx-sdk-rs.git
cd mx-sdk-rs/contracts/examples
# Examiner :
# - crowdfunding-esdt : gestion de fonds
# - lottery-esdt : randomisation
# - multisig : multi-signatureFrontend dApp :
# Template officiel MultiversX
git clone https://github.com/multiversx/mx-template-dapp.git
# Examiner la structure et l'intégration walletVisual Studio Code Extensions :
- Rust Analyzer (pour Rust)
- ESLint (pour TypeScript)
- Prettier (formatage code)
- GitLens (historique Git)
- TODO Highlight (surligner les TODOs)
Explorateurs Blockchain :
- Devnet Explorer : https://devnet-explorer.multiversx.com
- Testnet Explorer : https://testnet-explorer.multiversx.com
- Mainnet Explorer : https://explorer.multiversx.com
Montant : $50k - $200k Deadline : Rolling (toujours ouvert) Lien : https://multiversx.com/builders
Comment appliquer :
- Créer pitch deck (10-15 slides)
- Démo vidéo (3-5 minutes)
- GitHub avec code MVP
- Remplir formulaire en ligne
Timeline : 4-8 semaines de review
Montant : Variable ($5k - $50k selon matching) Deadline : Rounds trimestriels Lien : https://grants.gitcoin.co
Comment :
- Créer profil projet
- Soumettre pour round suivant
- Promouvoir dans communauté
- Recevoir donations + matching pool
- Protocol Labs : https://grants.protocol.ai
- Ethereum Foundation (si multi-chain) : https://esp.ethereum.foundation
- Grants locaux crypto (selon votre pays)
Optionnel - si grants insuffisants :
- Mirror.xyz : Articles payants + collecte
- Kickstarter/Indiegogo : Pour produit grand public
- Direct : Adresse donation MultiversX
# MAUVAIS : Commiter des secrets
git add wallet.pem # ❌ JAMAIS !
# BON : Vérifier .gitignore
# Le .gitignore est déjà configuré pour exclure :
# *.pem, *.key, .env, secrets/, etc.// MAUVAIS : Pas de validation
#[endpoint]
fn transfer_all(&self, to: ManagedAddress) {
// ❌ N'importe qui peut appeler !
let balance = self.blockchain().get_sc_balance(...);
self.send().direct_egld(&to, &balance);
}
// BON : Vérifications
#[endpoint]
fn transfer_all(&self, to: ManagedAddress) {
let caller = self.blockchain().get_caller();
require!(caller == self.owner().get(), "Only owner");
// ✅ Sécurisé
}// MAUVAIS : Pas de gestion d'erreur
const createCircle = async () => {
const tx = await sendTransaction(...);
// ❌ Et si ça échoue ?
};
// BON : Try/catch
const createCircle = async () => {
try {
const tx = await sendTransaction(...);
toast.success("Circle created!");
} catch (error) {
toast.error("Failed: " + error.message);
console.error(error);
}
};Je suis là pour vous aider !
Continuez à me poser des questions sur :
- Architecture technique
- Debugging de code
- Meilleures pratiques
- Stratégie projet
- Tout ce qui concerne xCircle DAO !
Commandes utiles à me demander :
- "Aide-moi à écrire les tests pour CircleManager"
- "Comment déployer sur Devnet étape par étape ?"
- "Crée-moi le composant React pour créer un cercle"
- "Explique-moi comment fonctionne le staking"
- "Aide-moi à préparer le pitch deck pour les grants"
Faites ces 3 choses maintenant :
-
Créer le repository GitHub
git init git add . git commit -m "🎉 Initial commit" # Puis suivre instructions GitHub
-
Tester la compilation du smart contract
cd contracts/circle-manager mxpy contract build # Si ça marche → ✅ Vous êtes prêt !
-
Planifier votre semaine
- Choisir 2-3 tâches de la Semaine 3-4
- Créer des issues GitHub
- Bloquer du temps dans votre agenda
Bonne chance avec xCircle DAO ! Vous avez une base solide pour réussir. 🚀
Dernière mise à jour : Octobre 2024