Un guide non officiel sur l'intégration des services Qubic
Intégrez Qubic dans les services existants via un nœud complet, un nœud distant, un serveur d'archives ou une API, avec un contrôle et une complexité variables.
Qsilver · 17 février 2024.
Introduction
L'intégration de Qubic dans les services existants peut se faire de quatre manières principales, chacune offrant différents niveaux de contrôle et de complexité :
- Exécuter un nœud complet : Accès direct aux données en mémoire pour les opérations.
- Exécuter un nœud distant : Interroger les nœuds complets publics pour obtenir les données nécessaires aux opérations.
- Exécuter un serveur d'archives : Construire une archive locale complète de toutes les données Qubic pour les opérations.
- Interfacer avec le serveur API de Qubic : Méthode la plus simple, mais avec moins de contrôle sur la disponibilité des données.
Plus le numéro est bas, plus le travail est important, mais plus vous avez de contrôle sur la disponibilité des données. Quel que soit le niveau choisi, il est essentiel de comprendre les différences critiques concernant Qubic.
Différences importantes concernant Qubic
Pour les services traitant de la valeur monétaire, les deux différences les plus importantes concernant Qubic sont :
- Même si un txid est inclus dans un tick validé, il pourrait n'avoir rien fait.
- Le solde d'une adresse peut être modifié sans qu'une transaction spécifique ne transfère de A à B, par exemple par une opération de contrat intelligent.
En raison de ces différences, le traitement de Qubic doit être basé sur les changements de solde d'adresse, garantissant que les changements par les contrats intelligents ne perturbent pas la logique.
Gestion des dépôts
Pour simplifier la gestion des dépôts, il est recommandé d'utiliser des transactions normales. Les dépôts effectués à l'aide de contrats intelligents pourraient être ignorés ou traités manuellement (avec un coût supplémentaire pour couvrir les frais).
- Parcourez toutes les transactions de chaque tick et identifiez les adresses de destination appartenant aux clients.
- Signalez ces adresses pour la vérification du solde.
- Obtenez les informations sur les entités pour les adresses signalées pour voir lesquelles ont reçu de nouveaux fonds.
- Mettez à jour les informations actuelles sur les entités pour les adresses qui ont reçu de nouveaux fonds.
Les changements de solde pourraient ne pas correspondre au montant de la transaction en raison d'échecs de txid ou de dépôts de contrats intelligents. Ignorer les dépôts SC garantit que l'utilisateur est crédité pour les dépôts SC même si le txid a échoué.
Traitement des dépôts basé sur le solde
Cette méthode pourrait nécessiter plus de bande passante mais est viable pour les services de moyenne gamme en interrogeant des centaines de milliers d'adresses sur le réseau via un nœud distant. Elle garantit que toutes les méthodes de dépôt sont correctement créditées, améliorant ainsi l'expérience utilisateur.
- Maintenez les dernières données d'entité validées pour chaque adresse utilisateur.
- Dans une boucle de sondage, comparez les dernières données d'entité aux données d'entité validées.
- Validez les dernières données d'entité à l'aide de l'arbre de Merkle.
- Si elles se valident, mettez à jour les données d'entité validées et générez un événement de dépôt basé sur la différence des dépôts totaux.
Traitement des retraits
Petits volumes
- Obtenez les données d'entité validées pour l'adresse d'envoi.
- Mettez en file d'attente une transaction de retrait basée sur la destination et le montant.
- Générez les données d'entité attendues pour le outgoingAmount et le outgoingAmount actuel + montant du retrait.
- Traitez la file d'attente en créant et en diffusant la transaction de retrait.
- Après un tick spécifié, vérifiez si le outgoingAmount des données d'entité a changé au montant attendu.
- Si c'est le cas, marquez le retrait comme terminé, retirez-le de la file d'attente et mettez à jour les données d'entité validées. Sinon, reprenez le processus.
Volumes moyens
- Utilisez la commande SENDMANY SC pour regrouper jusqu'à 25 retraits en une seule transaction.
- Appliquez la même logique que pour les petits volumes, en utilisant SENDMANY au lieu de transactions simples d'envoi.
- Une seule adresse utilisant SENDMANY peut réaliser environ 100 retraits par minute.
Volumes élevés
- Utilisez l'application sendmany pour envoyer jusqu'à 15 625 paiements, en les complétant en environ 20 ticks (~8000 retraits par minute).
- L'application sendmany utilise SENDMANY SC dans un éventail à trois niveaux. Les paiements sont spécifiés dans un fichier .csv, traités pour calculer le montant total, et envoyés à une adresse spéciale.
- Une fois les fonds arrivés, ils sont distribués en trois générations (25 x 25 x 25 paiements).
Dépôt sendmany
Pour plus de détails sur le programme sendmany, visitez le dépôt :
Conclusion
L'intégration de Qubic dans les services existants nécessite une considération minutieuse de la gestion des données, en particulier pour les transactions monétaires. En choisissant la méthode d'intégration appropriée et en comprenant les aspects uniques de Qubic, les services peuvent gérer efficacement les dépôts et les retraits à différentes échelles.
Lisez la série “Non Officielle” de Qsilver
- Un livre blanc intérimaire non officiel sur Qubic
- Détails sur Qubic Crypto
- Un guide non officiel sur l'intégration des services Qubic
- Un guide non officiel pour écrire des contrats intelligents Qubic
Pour les dernières mises à jour, rejoignez le Discord de Valis, suivez-nous sur X, et ajoutez notre blog à vos favoris.
← Précédent
Sur cette page