En uoffisiell guide til Qubic Tjenesteintegrasjon
Integrer Qubic i eksisterende tjenester via full node, ekstern node, arkivserver eller API, med varierende kontroll og kompleksitet.
Qsilver - 17. februar 2024.
Introduksjon
Integrering av Qubic i eksisterende tjenester kan gjøres på fire hovedmåter, som hver tilbyr ulike nivåer av kontroll og kompleksitet:
- Kjør en full node: Direkte tilgang til data i minnet for operasjoner.
- Kjør en ekstern node: Forespørsler til offentlige fullstendige noder for å innhente de nødvendige dataene for operasjoner.
- Kjør en arkivserver: Bygg et lokalt, fullstendig arkiv med alle Qubic-data for operasjoner.
- Grensesnitt med Qubic API-server: Den enkleste metoden, men med mindre kontroll over datatilgjengeligheten.
Jo lavere tall, desto mer arbeid, men desto mer kontroll har du over datatilgjengeligheten. Uansett hvilket nivå du velger, er det viktig å forstå de kritiske forskjellene ved Qubic.
Viktige forskjeller ved Qubic
For tjenester som håndterer monetære verdier, er de to viktigste forskjellene ved Qubic
- Selv om en txid er inkludert i et validert kryss, er det ikke sikkert at den har gjort noe.
- Adressesaldoen kan endres uten at en spesifikk transaksjon overføres fra A til B, f.eks. ved hjelp av en smartkontraktsoperasjon.
På grunn av disse forskjellene bør Qubic-prosesseringen baseres på endringer i adressesaldoen, slik at endringer fra smartkontrakter ikke forvirrer logikken.
Innskuddshåndtering
For å forenkle innskuddshåndteringen anbefales det å bruke normale transaksjoner. Innskudd som gjøres ved hjelp av smartkontrakter, kan ignoreres eller håndteres manuelt (med en ekstra kostnad for å dekke kostnadene).
- Gå gjennom alle transaksjoner i hvert kryss og identifiser destinasjonsadresser som tilhører kunder.
- Flagg disse adressene for salgskontroll.
- Hent enhetsinformasjon for flaggede adresser for å se hvilke som har mottatt nye midler.
- Oppdater gjeldende enhetsinformasjon for adresser som har mottatt nye midler.
Det kan hende at saldoendringer ikke samsvarer med transaksjonsbeløpet på grunn av txid-feil eller smartkontraktsinnskudd. Ved å ignorere SC-innskudd sikrer du at brukeren blir kreditert for SC-innskudd selv om txid mislyktes.
Saldobasert innskuddsbehandling
Denne metoden kan kreve mer båndbredde, men er levedyktig for mellomstore tjenester ved å polling hundretusener av adresser over nettverket via en ekstern node. Den sikrer at alle innskuddsmetoder krediteres på riktig måte, noe som forbedrer brukeropplevelsen.
- Oppretthold de siste validerte enhetsdataene for hver brukeradresse.
- I en polling-loop sammenlignes de nyeste enhetsdataene med de validerte enhetsdataene.
- Valider de nyeste enhetsdataene ved hjelp av merkle-treet.
- Hvis de valideres, oppdaterer du de validerte enhetsdataene og genererer en innskuddshendelse basert på forskjellen i totale innskudd.
Behandling av uttak
Små volumer
- Innhent validerte enhetsdata for avsenderadressen.
- Sett en uttakstransaksjon i kø basert på destinasjon og beløp.
- Generer de forventede enhetsdataene for outgoingAmount og gjeldende outgoingAmount + beløpet for uttaket.
- Behandle køen ved å opprette og kringkaste uttakstransaksjonen.
- Etter et spesifisert tidspunkt sjekker du om enhetsdataene for outgoingAmount har endret seg til det forventede beløpet.
- Hvis det har det, markerer du uttaket som fullført, fjerner det fra kjøen og oppdaterer validerte enhetsdata. Hvis ikke, prøver du prosessen på nytt.
Mellomstore volumer
- Bruk kommandoen SENDMANY SC til å samle opptil 25 uttak i én enkelt transaksjon.
- Bruk samme logikk som for små volumer, men bruk SENDMANY i stedet for enkle send-transaksjoner.
- En enkelt adresse som bruker SENDMANY, kan oppnå rundt 100 uttak per minutt.
Lagre volumer
- Bruk sendmany-appen til å sende opptil 15 625 betalinger, som fullføres på omtrent 20 ticks (~8 000 uttak per minutt).
- Sendmany-appen bruker SENDMANY SC i en fanout med tre nivåer. Betalinger spesifiseres i en .csv-fil, behandles for å beregne totalbeløpet og sendes til en spesiell adresse.
- Når pengene kommer frem, fordeles de i tre generasjoner (25 x 25 x 25 betalinger).
sendmany Repository
For mer informasjon om sendmany-programmet, besøk depotet:
Konklusjon
Integrering av Qubic i eksisterende tjenester krever nøye vurdering av datahåndtering, spesielt når det gjelder pengetransaksjoner. Ved å velge riktig integrasjonsmetode og forstå de unike aspektene ved Qubic, kan tjenester effektivt håndtere innskudd og uttak i varierende skala.
Les Qsilvers "Uoffisielle" serie
- Qubic Crypto Detaljer
- En uoffisiell Qubic Midlertidig hvitbok
- En uoffisiell guide til å skrive Qubic Smart Contracts
- En uofficiel guide til Qubic Services Integration
For de siste oppdateringene, bli med i Valis Discord, følg oss på X, og bokmerk bloggen vår.
Neste →