Een Ongeofficiële Gids voor Qubic Services Integratie
Integreer Qubic in bestaande services via een volledige node, externe node, archiefserver, of API, met verschillende niveaus van controle en complexiteit.
Qsilver · 17 feb 2024.
Inleiding
Het integreren van Qubic in bestaande services kan op vier hoofdzakelijke manieren, elk met verschillende niveaus van controle en complexiteit:
- Draai een volledige node: Directe toegang tot in-memory gegevens voor operaties.
- Draai een externe node: Vraag openbare volledige nodes op om de benodigde gegevens voor operaties te verkrijgen.
- Draai een archiefserver: Bouw een lokaal volledig archief van alle Qubic-gegevens voor operaties.
- Interface met Qubic API-server: De eenvoudigste methode, maar met minder controle over gegevensbeschikbaarheid.
Hoe lager het nummer, hoe meer werk betrokken is, maar hoe meer controle u heeft over de gegevensbeschikbaarheid. Ongeacht het niveau dat u kiest, is het essentieel om de kritische verschillen over Qubic te begrijpen.
Belangrijke Verschillen over Qubic
Voor diensten die met geldwaarde te maken hebben, zijn de twee belangrijkste verschillen over Qubic:
- Zelfs als een txid is opgenomen in een gevalideerde tik, heeft het mogelijk niets gedaan.
- Adresbalans kan worden gewijzigd zonder een specifieke transactie van A naar B over te dragen, bijvoorbeeld door een slimme contractoperatie.
Vanwege deze verschillen moet Qubic-verwerking gebaseerd zijn op adresbalanswijzigingen, zodat wijzigingen door slimme contracten de logica niet verwarren.
Verwerking van Stortingen
Om de verwerking van stortingen te vereenvoudigen, wordt aanbevolen normale transacties te gebruiken. Stortingen gedaan met behulp van slimme contracten kunnen worden genegeerd of handmatig worden afgehandeld (met een extra toeslag om de kosten te dekken).
- Doorloop alle transacties in elke tik en identificeer bestemmingsadressen die bij klanten horen.
- Markeer deze adressen voor balanscontrole.
- Verkrijg entiteitsinformatie voor gemarkeerde adressen om te zien welke nieuwe fondsen hebben ontvangen.
- Werk de huidige entiteitsinformatie bij voor adressen die nieuwe fondsen hebben ontvangen.
Balanswijzigingen komen mogelijk niet overeen met het transactiebedrag door txid-mislukkingen of slimme contractstortingen. Het negeren van SC-stortingen zorgt ervoor dat de gebruiker wordt gecrediteerd voor SC-stortingen, zelfs als de txid is mislukt.
Balansgebaseerde Verwerking van Stortingen
Deze methode kan meer bandbreedte vereisen, maar is haalbaar voor midrange-diensten door honderden duizenden adressen over het netwerk via een externe node te polleren. Het zorgt ervoor dat alle stortingsmethoden correct worden gecrediteerd, waardoor de gebruikerservaring wordt verbeterd.
- Houd de laatste gevalideerde entiteitsgegevens bij voor elk gebruikersadres.
- Vergelijk in een pollinglus de laatste entiteitsgegevens met de gevalideerde entiteitsgegevens.
- Valideer de laatste entiteitsgegevens met behulp van de merkelboom.
- Als het valideert, werk de gevalideerde entiteitsgegevens bij en genereer een stortingsevenement op basis van het verschil in totale stortingen.
Verwerking van Opnames
Kleine Volumes
- Verkrijg gevalideerde entiteitsgegevens voor het verzendadres.
- Plaats een opname transactie in de wachtrij op basis van bestemming en bedrag.
- Genereer de verwachte entiteitsgegevens voor outgoingAmount en de huidige outgoingAmount + het bedrag van de opname.
- Verwerk de wachtrij door de opname transactie te creëren en te verzenden.
- Controleer na een gespecificeerde tik of de entiteitsgegevens outgoingAmount zijn veranderd naar het verwachte bedrag.
- Als dat zo is, markeer de opname als voltooid, verwijder het uit de wachtrij en werk de gevalideerde entiteitsgegevens bij. Zo niet, probeer het proces opnieuw.
Middelgrote Volumes
- Gebruik de SENDMANY SC-opdracht om tot 25 opnames in een enkele transactie te groeperen.
- Pas dezelfde logica toe als voor kleine volumes, met gebruik van SENDMANY in plaats van eenvoudige send-transacties.
- Een enkel adres dat SENDMANY gebruikt, kan ongeveer 100 opnames per minuut bereiken.
Hoge Volumes
- Gebruik de sendmany-app om tot 15.625 betalingen te verzenden, voltooiend in ongeveer 20 tikken (~8000 opnames per minuut).
- De sendmany-app gebruikt de SENDMANY SC in een drievoudige fanout. Betalingen worden gespecificeerd in een .csv-bestand, verwerkt om het totale bedrag te berekenen en verzonden naar een speciaal adres.
- Zodra fondsen aankomen, worden ze verspreid in drie generaties (25 x 25 x 25 betalingen).
sendmany Repository
Voor details over het sendmany-programma, bezoek de repository:
Conclusie
Het integreren van Qubic in bestaande services vereist een zorgvuldige overweging van gegevensverwerking, vooral voor geldtransacties. Door de juiste integratiemethode te kiezen en de unieke aspecten van Qubic te begrijpen, kunnen services stortingen en opnames effectief beheren op verschillende schalen.
Lees Qsilver’s “Onofficiële” Serie
- Een Onofficiële Qubic Interim Whitepaper
- Qubic Crypto Details
- Een Ongeofficiale Gids voor Qubic Services Integratie
- Een onofficiële gids voor het schrijven van Qubic Smart Contracts
Voor de nieuwste updates, word lid van de Valis Discord, volg ons op X, en voeg onze blog toe aan je favorieten.
← Vorige
Op deze pagina