En inofficiell guide till integration av Qubic-tjänster
Integrera Qubic i befintliga tjänster via fullnod, fjärrnod, arkivserver eller API, med varierande kontroll och komplexitet.
Qsilver - 17 februari 2024.
Introduktion
Att integrera Qubic i befintliga tjänster kan göras på fyra huvudsakliga sätt, som alla erbjuder olika nivåer av kontroll och komplexitet:
- Kör en fullständig nod: Direktåtkomst till data i minnet för operationer.
- Kör en fjärrnod: Förfrågan till publika fulla noder för att få de data som krävs för operationer.
- Kör en arkivserver: Bygg ett lokalt fullständigt arkiv av alla Qubic-data för operationer.
- Gränssnitt med Qubic API-server: Enklaste metoden, men med mindre kontroll över datatillgängligheten.
Ju lägre siffra, desto mer arbete, men desto mer kontroll över datatillgängligheten. Oavsett vilken nivå du väljer är det viktigt att förstå de kritiska skillnaderna med Qubic.
Viktiga skillnader med Qubic
För tjänster som hanterar monetära värden är de två viktigaste skillnaderna med Qubic följande:
- Även om en txid ingår i en validerad tick är det inte säkert att den har gjort någonting.
- Adressbalansen kan ändras utan att en specifik transaktion överförs från A till B, t.ex. genom en smart kontraktsoperation.
På grund av dessa skillnader bör Qubic-bearbetningen baseras på ändringar av adressbalansen, vilket säkerställer att ändringar genom smarta kontrakt inte förvirrar logiken.
Hantering av insättningar
För att förenkla insättningshanteringen rekommenderas att man använder normala transaktioner. Insättningar som görs med hjälp av smarta kontrakt kan ignoreras eller hanteras manuellt (med en extra avgift för att täcka kostnaderna).
- Iterera genom alla transaktioner i varje tick och identifiera destinationsadresser som tillhör kunder.
- Flagga dessa adresser för saldokontroll.
- Hämta enhetsinformation för flaggade adresser för att se vilka som har fått nya medel.
- Uppdatera den aktuella enhetsinformationen för adresser som har fått nya medel.
Saldoändringar kanske inte matchar transaktionsbeloppet på grund av txid-fel eller insättningar av smarta kontrakt. Genom att ignorera SC-insättningar säkerställs att användaren krediteras för SC-insättningar även om txid misslyckades.
Balansbaserad insättningsbehandling
Den här metoden kan kräva mer bandbredd men är användbar för tjänster i mellansegmentet genom att hundratusentals adresser pollas över nätverket via en fjärrnod. Det säkerställer att alla insättningsmetoder krediteras korrekt, vilket förbättrar användarupplevelsen.
- Behåll de senaste validerade enhetsuppgifterna för varje användaradress.
- I en pollningsloop jämförs de senaste enhetsuppgifterna med de validerade enhetsuppgifterna.
- Validera de senaste enhetsuppgifterna med hjälp av Merkle-trädet.
- Om de valideras, uppdatera de validerade enhetsuppgifterna och generera en insättningshändelse baserat på skillnaden i totala insättningar.
Behandling av uttag
Små volymer
- Hämta validerade enhetsdata för den sändande adressen.
- Sätt en uttagstransaktion i kö baserat på destination och belopp.
- Generera de förväntade enhetsuppgifterna för outgoingAmount och det aktuella outgoingAmount + beloppet för uttaget.
- Behandla kön genom att skapa och sända uttagstransaktionen.
- Efter en viss tid kontrollerar du om entitetsdata för outgoingAmount har ändrats till det förväntade beloppet.
- Om så är fallet markerar du uttaget som slutfört, tar bort det från kön och uppdaterar validerade enhetsdata. Om inte, försök på nytt.
Medelstora volymer
- Använd kommandot SENDMANY SC för att gruppera upp till 25 uttag i en enda transaktion.
- Tillämpa samma logik som för små volymer, men använd SENDMANY i stället för enkla sändningstransaktioner.
- En enda adress som använder SENDMANY kan göra cirka 100 uttag per minut.
Stora volymer
- Använd sendmany-appen för att skicka upp till 15 625 betalningar, som slutförs på cirka 20 ticks (~8000 uttag per minut).
- Appen sendmany använder SENDMANY SC i en fanout med tre nivåer. Betalningarna specificeras i en .csv-fil, bearbetas för att beräkna det totala beloppet och skickas till en speciell adress.
- När pengarna anländer fördelas de i tre generationer (25 x 25 x 25 betalningar).
sendmany-förvaret
För detaljer om sendmany-programmet, besök förvaret:
Slutsats
Att integrera Qubic i befintliga tjänster kräver noggrant övervägande av datahanteringen, särskilt när det gäller monetära transaktioner. Genom att välja lämplig integrationsmetod och förstå de unika aspekterna av Qubic kan tjänsterna effektivt hantera insättningar och uttag i olika skalor.
Läs Qsilvers "Inofficiella" serie
- Qubic Crypto Detaljer
- Ett inofficiellt interimistiskt Qubic Whitepaper
- En inofficiell guide till att skriva Qubic Smart Contracts
- En inofficiell guide för Qubic Tjänsteintegration
För de senaste uppdateringarna, gå med i Valis Discord, följ oss på X och bokmärk vår blogg.
← Föregående
Nästa →
På denna sida
- En inofficiell guide till integration av Qubic-tjänster
- Introduktion
- Viktiga skillnader med Qubic
- Hantering av insättningar
- Balansbaserad insättningsbehandling
- Behandling av uttag
- Små volymer
- Medelstora volymer
- Stora volymer
- sendmany-förvaret
- Slutsats
- Läs Qsilvers "Inofficiella" serie
Relaterade inlägg