En uofficiel guide til integration af Qubic-tjenester
Integrer Qubic i eksisterende tjenester via fuld node, ekstern node, arkivserver eller API, med varierende kontrol og kompleksitet.
Qsilver - 17. februar 2024.
Introduktion
Integration af Qubic i eksisterende tjenester kan ske på fire hovedmåder, som hver især tilbyder forskellige niveauer af kontrol og kompleksitet:
- Kør en fuld node: Direkte adgang til in-memory-data til operationer.
- Kør en ekstern node: Forespørg offentlige fulde noder for at få de nødvendige data til operationer.
- Kør en arkivserver: Byg et lokalt fuldt arkiv af alle Qubic-data til operationer.
- Interface med Qubic API-server: Den enkleste metode, men med mindre kontrol over datatilgængeligheden.
Jo lavere nummer, jo mere arbejde, men jo mere kontrol har du over datatilgængeligheden. Uanset hvilket niveau du vælger, er det vigtigt at forstå de kritiske forskelle ved Qubic.
Vigtige forskelle ved Qubic
For tjenester, der handler om pengeværdi, er de to vigtigste forskelle ved Qubic:
- Selv om en txid er inkluderet i et valideret kryds, er det ikke sikkert, at den har gjort noget.
- Adressesaldoen kan ændres, uden at en specifik transaktion overføres fra A til B, f.eks. ved hjælp af en smart kontrakt.
På grund af disse forskelle bør Qubic-behandlingen baseres på ændringer i adressesaldoen, så det sikres, at ændringer via smartkontrakter ikke forvirrer logikken.
Håndtering af indskud
For at forenkle indbetalingshåndteringen anbefales det at bruge normale transaktioner. Indbetalinger foretaget ved hjælp af smart contracts kan ignoreres eller håndteres manuelt (med et ekstra gebyr for at dække omkostningerne).
- Iterér gennem alle transaktioner i hvert kryds, og identificer destinationsadresser, der tilhører kunder.
- Marker disse adresser til saldokontrol.
- Hent enhedsoplysninger for markerede adresser for at se, hvilke der har modtaget nye midler.
- Opdater den aktuelle enhedsinformation for adresser, der har modtaget nye midler.
Saldoændringer stemmer muligvis ikke overens med transaktionsbeløbet på grund af txid-fejl eller smart contract-indbetalinger. Ignorering af SC-indskud sikrer, at brugeren bliver krediteret for SC-indskud, selv om txid mislykkedes.
Saldobaseret behandling af indskud
Denne metode kan kræve mere båndbredde, men er levedygtig for mellemstore tjenester ved at spørge hundredtusinder af adresser over netværket via en ekstern node. Den sikrer, at alle indbetalingsmetoder krediteres korrekt, hvilket forbedrer brugeroplevelsen.
- Vedligehold de seneste validerede enhedsdata for hver brugeradresse.
- I en polling-loop sammenlignes de seneste enhedsdata med de validerede enhedsdata.
- Valider de seneste enhedsdata ved hjælp af merkle-træet.
- Hvis de valideres, opdateres de validerede enhedsdata, og der genereres en indbetalingshændelse baseret på forskellen i de samlede indbetalinger.
Behandling af udbetalinger
Små mængder
- Indhent validerede enhedsdata for afsenderadressen.
- Sæt en udbetalingstransaktion i kø baseret på destination og beløb.
- Generer de forventede enhedsdata for outgoingAmount og det aktuelle outgoingAmount + udbetalingsbeløbet.
- Behandl køen ved at oprette og udsende udbetalingstransaktionen.
- Efter et bestemt tidspunkt kontrolleres det, om entitetsdataene for outgoingAmount er ændret til det forventede beløb.
- Hvis det er tilfældet, skal du markere udbetalingen som gennemført, fjerne den fra køen og opdatere validerede enhedsdata. Hvis ikke, skal du prøve igen.
Mellemstore volumener
- Brug kommandoen SENDMANY SC til at samle op til 25 udbetalinger i en enkelt transaktion.
- Anvend samme logik som ved små mængder, men brug SENDMANY i stedet for simple send-transaktioner.
- En enkelt adresse, der bruger SENDMANY, kan opnå omkring 100 udbetalinger pr. minut.
Store mængder
- Brug sendmany-appen til at sende op til 15.625 betalinger, der gennemføres på ca. 20 ticks (~8000 udbetalinger pr. minut).
- Sendmany-appen bruger SENDMANY SC i en fanout på tre niveauer. Betalinger specificeres i en .csv-fil, behandles for at beregne det samlede beløb og sendes til en særlig adresse.
- Når pengene ankommer, fordeles de i tre generationer (25 x 25 x 25 betalinger).
sendmany-arkiv
For detaljer om sendmany-programmet, besøg depotet:
Konklusion
Integration af Qubic i eksisterende tjenester kræver omhyggelig overvejelse af datahåndtering, især for monetære transaktioner. Ved at vælge den rette integrationsmetode og forstå de unikke aspekter af Qubic kan tjenesterne effektivt håndtere ind- og udbetalinger i forskellige skalaer.
Læs Qsilvers "Uofficielle" serie
- Qubic Crypto Detaljer
- En uofficiel guide til at skrive Qubic Smart Contracts
- En uofficiel Qubic foreløbig hvidbog
- En uofficiel guide til Qubic Services Integration
For de seneste opdateringer, slut dig til Valis Discord, følg os på X, og bogmærk vores blog.
På denne side
- En uofficiel guide til integration af Qubic-tjenester
- Introduktion
- Vigtige forskelle ved Qubic
- Håndtering af indskud
- Saldobaseret behandling af indskud
- Behandling af udbetalinger
- Små mængder
- Mellemstore volumener
- Store mængder
- sendmany-arkiv
- Konklusion
- Læs Qsilvers "Uofficielle" serie
Relaterede opslag