Una guida non ufficiale all'integrazione dei servizi Qubic
Integra Qubic nei servizi esistenti tramite nodo completo, nodo remoto, server d'archivio o API, con vari livelli di controllo e complessità.
Qsilver · 17 feb 2024.
Introduzione
L'integrazione di Qubic nei servizi esistenti può essere effettuata in quattro modi principali, ciascuno offrendo diversi livelli di controllo e complessità:
- Esegui un nodo completo: Accesso diretto ai dati in memoria per le operazioni.
- Esegui un nodo remoto: Interroga nodi completi pubblici per ottenere i dati necessari per le operazioni.
- Esegui un server d'archivio: Costruisci un archivio completo locale di tutti i dati Qubic per le operazioni.
- Interfacciati con il server API Qubic: Metodo più semplice, ma con meno controllo sulla disponibilità dei dati.
Più basso è il numero, più lavoro è richiesto, ma maggiore è il controllo sulla disponibilità dei dati. Indipendentemente dal livello scelto, è essenziale comprendere le differenze critiche su Qubic.
Differenze importanti su Qubic
Per i servizi che si occupano di valore monetario, le due differenze più importanti su Qubic sono:
- Anche se un txid è incluso in un tick convalidato, potrebbe non aver fatto nulla.
- Il saldo di un indirizzo può essere modificato senza una transazione specifica che trasferisce da A a B, ad esempio, tramite un'operazione di smart contract.
A causa di queste differenze, l'elaborazione di Qubic dovrebbe basarsi sui cambiamenti di saldo dell'indirizzo, assicurandosi che le modifiche apportate da smart contract non confondano la logica.
Gestione dei depositi
Per semplificare la gestione dei depositi, si consiglia di utilizzare transazioni normali. I depositi effettuati tramite smart contract potrebbero essere ignorati o gestiti manualmente (con un costo aggiuntivo per coprire i costi).
- Iterare attraverso tutte le transazioni in ogni tick e identificare gli indirizzi di destinazione appartenenti ai clienti.
- Contrassegnare questi indirizzi per il controllo del saldo.
- Ottenere informazioni sull'entità per gli indirizzi contrassegnati per vedere quali hanno ricevuto nuovi fondi.
- Aggiornare le informazioni attuali sull'entità per gli indirizzi che hanno ricevuto nuovi fondi.
I cambiamenti di saldo potrebbero non corrispondere all'importo della transazione a causa di fallimenti txid o depositi di smart contract. Ignorare i depositi SC garantisce che l'utente venga accreditato per i depositi SC anche se il txid è fallito.
Elaborazione dei depositi basata sul saldo
Questo metodo potrebbe richiedere più larghezza di banda ma è praticabile per servizi di fascia media interrogando centinaia di migliaia di indirizzi sulla rete tramite un nodo remoto. Garantisce che tutti i metodi di deposito siano correttamente accreditati, migliorando l'esperienza dell'utente.
- Mantenere i dati dell'entità convalidati più recenti per ciascun indirizzo utente.
- In un ciclo di polling, confrontare i dati dell'entità più recenti con i dati dell'entità convalidati.
- Convalidare i dati dell'entità più recenti utilizzando l'albero di Merkle.
- Se convalida, aggiornare i dati dell'entità convalidati e generare un evento di deposito basato sulla differenza nei depositi totali.
Elaborazione dei prelievi
Piccoli volumi
- Ottenere dati dell'entità convalidati per l'indirizzo di invio.
- Mettere in coda una transazione di prelievo in base a destinazione e importo.
- Generare i dati dell'entità previsti per outgoingAmount e l'attuale outgoingAmount + importo del prelievo.
- Elaborare la coda creando e trasmettendo la transazione di prelievo.
- Dopo un tick specificato, verificare se outgoingAmount dei dati dell'entità è cambiato all'importo previsto.
- Se lo è, contrassegnare il prelievo come completo, rimuoverlo dalla coda e aggiornare i dati dell'entità convalidati. In caso contrario, ripetere il processo.
Volumi medi
- Utilizzare il comando SENDMANY SC per raggruppare fino a 25 prelievi in una singola transazione.
- Applicare la stessa logica dei piccoli volumi, utilizzando SENDMANY invece di transazioni di invio semplici.
- Un singolo indirizzo utilizzando SENDMANY può raggiungere circa 100 prelievi al minuto.
Alti volumi
- Utilizzare l'app sendmany per inviare fino a 15.625 pagamenti, completando in circa 20 tick (~8000 prelievi al minuto).
- L'app sendmany utilizza il comando SENDMANY SC in un fanout a tre livelli. I pagamenti sono specificati in un file .csv, elaborati per calcolare l'importo totale e inviati a un indirizzo speciale.
- Una volta che i fondi arrivano, sono distribuiti in tre generazioni (25 x 25 x 25 pagamenti).
Repository sendmany
Per i dettagli sul programma sendmany, visita il repository:
Conclusione
Integrare Qubic nei servizi esistenti richiede un'attenta considerazione della gestione dei dati, specialmente per le transazioni monetarie. Scegliendo il metodo di integrazione appropriato e comprendendo gli aspetti unici di Qubic, i servizi possono gestire efficacemente depositi e prelievi a varia scala.
Leggi la serie “Non Ufficiale” di Qsilver
- Un Whitepaper Interino Non Ufficiale su Qubic
- Dettagli su Qubic Crypto
- Una guida non ufficiale all'integrazione dei servizi Qubic
- Una guida non ufficiale per scrivere contratti intelligenti Qubic
Per gli ultimi aggiornamenti, unisciti al Discord di Valis, seguici su X e aggiungi il nostro blog ai preferiti.
← Precedente
Successivo →
In questa pagina