Plateforme de tokenisation et trading d'obligations d'entreprises sur le XRP Ledger
Demo • Features • Installation • Documentation • Roadmap
- À propos
- Fonctionnalités
- Architecture
- Technologies
- Installation
- Configuration
- Utilisation
- API
- Wallets supportés
- Roadmap
- Contribuer
- Licence
XRPL Bonds est une plateforme innovante qui révolutionne le marché des obligations d'entreprises en utilisant la technologie blockchain du XRP Ledger. Le projet permet aux entreprises d'émettre des obligations tokenisées et aux investisseurs d'acheter, vendre et gérer leurs portefeuilles d'obligations de manière transparente et sécurisée.
- 🔒 Sécurité : Transactions sécurisées sur le XRP Ledger
- ⚡ Rapidité : Règlement instantané des transactions
- 💰 Faible coût : Frais de transaction minimaux
- 🌍 Accessibilité : Marché 24/7 accessible mondialement
- 📊 Transparence : Traçabilité complète via blockchain
- 🤖 Automatisation : Distribution automatique des coupons
- ✅ Émission d'obligations : Créez et tokenisez vos obligations sur XRPL
- 📈 Gestion de campagnes : Configurez les paramètres de votre levée de fonds
- 💳 Distribution automatique : Paiement automatique des coupons aux détenteurs
- 📊 Dashboard analytics : Suivez vos obligations en temps réel
- 🔐 KYC/AML : Conformité réglementaire intégrée
- 🛒 Marketplace : Explorez et achetez des obligations tokenisées
- 👛 Multi-wallet : Connectez votre wallet préféré (Xaman, Crossmark, GemWallet, WalletConnect)
- 💼 Portfolio management : Gérez vos investissements en un seul endroit
- 💰 Revenus passifs : Recevez automatiquement vos paiements de coupons
- 📉 Trading secondaire : Achetez et vendez sur le marché secondaire
- 🔔 Notifications : Alertes pour les paiements et événements importants
- 🔄 Monitoring temps réel : Surveillance des transactions XRPL
- 🗄️ Base de données MongoDB : Stockage et indexation des données
- 🔐 Smart contracts : Utilisation des MPTokens et Escrows XRPL
- 📧 Notifications email : Intégration Resend pour les communications
- 🎨 UI/UX moderne : Interface responsive avec Tailwind CSS et Radix UI
┌─────────────────────────────────────────────────────────────┐
│ XRPL Bonds Platform │
└─────────────────────────────────────────────────────────────┘
│
┌─────────────┴─────────────┐
│ │
┌───────▼────────┐ ┌───────▼────────┐
│ Frontend │ │ Backend │
│ (Next.js) │◄────────┤ (Express.js) │
│ Port 3000 │ REST │ Port 3001 │
└────────────────┘ └────────────────┘
│ │
│ │
┌───────▼────────┐ ┌───────▼────────┐
│ XRPL Wallets │ │ MongoDB │
│ - Xaman │ │ Database │
│ - Crossmark │ │ │
│ - GemWallet │ └────────────────┘
│ - WalletCon. │ │
└────────────────┘ │
│ │
└────────────┬─────────────┘
│
┌────────▼─────────┐
│ XRP Ledger │
│ (Testnet) │
│ - MPTokens │
│ - Escrows │
│ - Payments │
└──────────────────┘
- Next.js 16 - Framework React avec App Router
- TypeScript - Typage statique
- Tailwind CSS - Styling utilitaire
- Radix UI - Composants UI accessibles
- xrpl-connect - Connexion multi-wallet
- Zustand - State management
- React Query - Data fetching et cache
- Node.js - Runtime JavaScript
- Express.js - Framework web
- MongoDB - Base de données NoSQL
- Mongoose - ODM MongoDB
- xrpl.js - SDK XRP Ledger
- TypeScript - Typage côté serveur
- XRP Ledger - Blockchain sous-jacente
- MPTokens - Tokens multi-purpose pour les obligations
- Escrows - Smart contracts pour les campagnes
- Payments - Distribution des coupons
- Resend - Envoi d'emails
- Xaman - Wallet mobile OAuth
- WalletConnect - Protocol de connexion universel
- Node.js >= 18.0
- npm ou pnpm
- MongoDB >= 5.0
- Git
# Cloner le repository
git clone https://github.com/STOOOKEEE/XRPL-BONDS.git
cd XRPL-BONDS
# Installer les dépendances frontend
npm install
# Installer les dépendances backend
cd backend
npm install
cd ..Créez un fichier .env.local à la racine :
# Wallets XRPL
NEXT_PUBLIC_XAMAN_API_KEY=your-xaman-api-key
NEXT_PUBLIC_WALLETCONNECT_PROJECT_ID=your-walletconnect-project-id
# Backend API
NEXT_PUBLIC_API_URL=http://localhost:3001
# Email (Resend)
RESEND_API_KEY=your-resend-api-key
FROM_EMAIL=onboarding@resend.devObtenir les clés :
- Xaman API Key : https://apps.xumm.dev/
- WalletConnect Project ID : https://cloud.walletconnect.com/
- Resend API Key : https://resend.com/api-keys
Créez un fichier backend/.env :
# XRPL
XRPL_URL=wss://s.altnet.rippletest.net:51233
ISSUER_SEED=sYourIssuerSeedHere
# Server
PORT=3001A read-only MongoDB user has been created so the jury can explore and verify the project's database.
Connection details:
mongodb+srv://jury_readonly:<password>@cluster0.ml4qq54.mongodb.net/xrpl-bonds?retryWrites=true&w=majority&appName=Cluster0
Replace <password> with the password provided separately.
How to test the connection:
- Open MongoDB Compass or any MongoDB client.
- Paste the connection string above into the connection field.
- Connect to the database named
xrpl-bonds. - You will see the following collections:
bonds— list of all issued or pending corporate bonds.holders_<bondId>— list of investors for each bond.
- You have read-only access: you can view all documents but not modify them.
Note:
Access is open from any IP (0.0.0.0/0) for evaluation purposes only. It will be restricted after the review period.
Terminal 1 - Backend :
cd backend
npm run devTerminal 2 - Frontend :
npm run devAccéder à l'application :
- Frontend : http://localhost:3000
- Backend API : http://localhost:3001
- Health check : http://localhost:3001/health
# Ouvrir http://localhost:3000
# Cliquer sur "Connect Wallet"
# Choisir votre wallet (Crossmark, GemWallet, Xaman, WalletConnect)# Naviguer vers /marketplace
# Voir les obligations disponibles
# Filtrer par taux, maturité, risque# Sélectionner une obligation
# Cliquer sur "Invest"
# Confirmer la transaction dans votre wallet# Voir vos holdings
# Suivre les paiements de coupons
# Vendre sur le marché secondaire# Liste toutes les obligations
GET /api/bonds
# Détails d'une obligation
GET /api/bonds/:bondId
# Créer une obligation
POST /api/bonds
# Mettre à jour une obligation
PATCH /api/bonds/:bondId# Liste des détenteurs d'une obligation
GET /api/bonds/:bondId/holders
# Obligations d'un détenteur
GET /api/holders/:address/bonds# Transactions d'une obligation
GET /api/bonds/:bondId/transactions?type=transfer&limit=50
# Historique des coupons
GET /api/bonds/:bondId/coupons// Récupérer toutes les obligations
const response = await fetch('http://localhost:3001/api/bonds');
const data = await response.json();
// Créer une obligation
const bond = await fetch('http://localhost:3001/api/bonds', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
bondId: 'BOND-001',
tokenName: 'TechCorp Bond 2025',
tokenCurrency: 'TC2025',
totalSupply: '10000000',
couponRate: 5.5,
// ...autres paramètres
})
});- Type : Extension navigateur
- Installation : https://crossmark.io/
- Plateformes : Chrome, Firefox, Edge, Brave
- Type : Extension navigateur
- Installation : https://gemwallet.app/
- Plateformes : Chrome, Firefox, Edge
- Type : Application mobile
- Installation : https://xaman.app/
- Plateformes : iOS, Android
- Nécessite : API Key de https://apps.xumm.dev/
- Type : Protocol universel (QR Code)
- Compatible avec : 100+ wallets
- Nécessite : Project ID de https://cloud.walletconnect.com/
- Connexion multi-wallet
- Backend avec MongoDB
- Marketplace basique
- Émission d'obligations
- Distribution automatique des coupons
- KYC/AML intégré
- Trading peer-to-peer
- Charts et analytics avancés
- Mobile app (React Native)
- Support multilingue
- Migration Mainnet
- Audit de sécurité
- Intégration DEX
- API publique
- Programme de gouvernance
- Support multi-chain
- NFT pour obligations uniques
- Staking et yield farming
- DAO pour la gouvernance
- Marketplace secondaire avancé
npm run testnpm run test:integrationnpm run test:e2e# Backend
cd backend
npm run test-workflow
# Frontend
npm run test- WALLET_SETUP.md - Configuration des wallets
- Backend README - Documentation backend
- ESCROW_README.md - Smart contracts Escrow
- EMAIL_SETUP.md - Configuration emails
Les contributions sont les bienvenues ! Voici comment contribuer :
gh repo fork STOOOKEEE/XRPL-BONDSgit checkout -b feature/AmazingFeaturegit commit -m 'Add some AmazingFeature'git push origin feature/AmazingFeature- Suivez le style de code existant
- Ajoutez des tests pour les nouvelles fonctionnalités
- Mettez à jour la documentation
- Utilisez des messages de commit clairs
Trouvé un bug ? Aidez-nous à l'améliorer :
- Vérifiez qu'il n'a pas déjà été signalé
- Ouvrez une issue
- Décrivez le problème et les étapes pour le reproduire
- Ajoutez des captures d'écran si possible
- STOOOKEEE - Lead Developer
Ce projet est sous licence MIT. Voir le fichier LICENSE pour plus de détails.
- XRPL Foundation pour la blockchain
- Xaman pour l'excellent wallet mobile
- WalletConnect pour le protocol universel
- Next.js Team pour le framework
- MongoDB pour la base de données
- Vercel pour l'hébergement
- GitHub : @STOOOKEEE
- Issues : GitHub Issues
⭐ Si vous aimez ce projet, donnez-lui une étoile ! ⭐
Made with ❤️ by the XRPL Bonds Team