- Création lib/platformCommissions.ts : configuration centralisée des commissions - Articles : 800 sats (700 auteur, 100 plateforme) - Avis : 70 sats (49 lecteur, 21 plateforme) - Sponsoring : 0.046 BTC (0.042 auteur, 0.004 plateforme) - Validation des montants à chaque étape : - Publication : vérification du montant avant publication - Paiement : vérification du montant avant acceptation - Erreurs explicites si montant incorrect - Tracking des commissions sur Nostr : - Tags author_amount et platform_commission dans événements - Interface ContentDeliveryTracking étendue - Traçabilité complète pour audit - Logs structurés avec informations de commission - Documentation complète du système Les commissions sont maintenant systématiques, validées et traçables.
3.5 KiB
3.5 KiB
Système de commissions - Implémentation
Date : Décembre 2024 Auteur : Équipe 4NK
Objectif
Implémenter un système de commissions systématique et incontournable pour garantir que la plateforme reçoit toujours sa commission sur tous les paiements.
Commissions configurées
Articles
- Total : 800 sats
- Auteur : 700 sats
- Plateforme : 100 sats
Avis (rémunération)
- Total : 70 sats
- Lecteur : 49 sats
- Plateforme : 21 sats
Sponsoring
- Total : 0.046 BTC (4,600,000 sats)
- Auteur : 0.042 BTC (4,200,000 sats)
- Plateforme : 0.004 BTC (400,000 sats)
Implémentation
1. Configuration centralisée
Fichier : lib/platformCommissions.ts
- Définit toutes les commissions de manière centralisée
- Fonctions de calcul et vérification des splits
- Validation des montants
2. Validation des montants
Fichiers modifiés :
lib/articleInvoice.ts: Vérifie que le montant est 800 sats lors de la créationlib/articlePublisher.ts: Vérifie le montant avant publicationlib/payment.ts: Vérifie le montant avant paiement
Garanties :
- Impossible de publier un article avec un montant incorrect
- Impossible de payer un article avec un montant incorrect
- Erreurs explicites si le montant ne correspond pas
3. Tracking des commissions
Fichier : lib/platformTracking.ts
- Enregistre les commissions dans les événements de tracking
- Tags
author_amountetplatform_commissiondans les événements Nostr - Permet à la plateforme de vérifier toutes les commissions
4. Logs et traçabilité
Fichier : lib/paymentPolling.ts
- Logs détaillés avec montants de commission
- Vérification que le split est correct
- Alertes si le montant ne correspond pas
Garanties d'incontournabilité
1. Validation à la publication
- L'auteur ne peut pas publier avec un montant incorrect
- Le système rejette automatiquement les montants invalides
2. Validation au paiement
- Le lecteur ne peut pas payer un montant incorrect
- Le système vérifie le montant avant d'accepter le paiement
3. Tracking systématique
- Tous les paiements sont enregistrés avec les commissions
- La plateforme peut vérifier tous les paiements via Nostr
4. Logs structurés
- Tous les paiements génèrent des logs avec les commissions
- Facilite l'audit et la vérification
Limitations actuelles
Split automatique Lightning
Problème : WebLN ne supporte pas BOLT12 avec split automatique.
Solution actuelle :
- L'invoice est créée pour le montant total (800 sats)
- La plateforme reçoit le montant total
- La plateforme doit ensuite transférer la part de l'auteur (700 sats)
Solution future :
- Utiliser un nœud Lightning de la plateforme avec split automatique
- Utiliser un service de split Lightning (LNURL-pay avec split)
- Implémenter un système de transfert automatique après paiement
Sponsoring
Statut : À implémenter
- Le sponsoring utilise Bitcoin mainnet
- Nécessite un système de split mainnet
- Plus complexe que Lightning
Avis
Statut : À implémenter
- Même problème que les articles (split Lightning)
- Nécessite le même système de split
Prochaines étapes
- ✅ Système de commissions configuré
- ✅ Validation des montants
- ✅ Tracking des commissions
- ⏳ Implémenter split automatique Lightning (nécessite nœud Lightning)
- ⏳ Implémenter split pour sponsoring
- ⏳ Implémenter split pour avis