Isang Hindi Opisyal na Gabay sa Pagsasama ng mga Serbisyo ng Qubic
Isama ang Qubic sa mga umiiral na serbisyo gamit ang full node, remote node, archive server, o API, na may iba't ibang antas ng kontrol at pagiging kumplikado.
Qsilver Β· Pebrero 17, 2024.
Panimula
Ang pagsasama ng Qubic sa mga umiiral na serbisyo ay maaaring gawin sa apat na pangunahing paraan, bawat isa ay nag-aalok ng iba't ibang antas ng kontrol at pagiging kumplikado:
- Magpatakbo ng isang buong node: Direktang pag-access sa in-memory data para sa mga operasyon.
- Magpatakbo ng isang remote node: Mag-query sa mga pampublikong full nodes upang makuha ang kinakailangang data para sa mga operasyon.
- Magpatakbo ng isang archive server: Gumawa ng lokal na buong archive ng lahat ng Qubic data para sa mga operasyon.
- Makipag-interface sa Qubic API server: Pinakasimpleng paraan, ngunit may mas kaunting kontrol sa pagkakaroon ng data.
Mas mababa ang numero, mas maraming trabaho ang kasangkot ngunit mas maraming kontrol ang mayroon ka sa pagkakaroon ng data. Anuman ang antas na iyong pipiliin, mahalaga ang pagkaunawa sa mga kritikal na pagkakaiba tungkol sa Qubic.
Mahalagang Pagkakaiba tungkol sa Qubic
Para sa mga serbisyong may kinalaman sa halaga ng pera, ang dalawang pinakamahalagang pagkakaiba tungkol sa Qubic ay:
- Kahit na ang isang txid ay kasama sa isang validated tick, maaaring wala itong nagawa.
- Maaaring mabago ang balanse ng address nang walang partikular na transaksyon na naglilipat mula A patungong B, halimbawa, sa pamamagitan ng smart contract operation.
Dahil sa mga pagkakaibang ito, ang pagproseso ng Qubic ay dapat na nakabatay sa mga pagbabago sa balanse ng address, na tinitiyak na ang mga pagbabago ng smart contracts ay hindi nakakalito sa lohika.
Pagproseso ng Deposito
Upang mapadali ang pagproseso ng deposito, inirerekumenda na gumamit ng normal na transaksyon. Ang mga deposito na ginawa gamit ang smart contracts ay maaaring hindi pansinin o iproseso nang manu-mano (na may karagdagang singil upang masakop ang gastusin).
- I-iterate ang lahat ng transaksyon sa bawat tick at tukuyin ang mga destinasyong address na pag-aari ng mga customer.
- I-flag ang mga address na ito para sa pag-check ng balanse.
- Kumuha ng impormasyon ng entity para sa mga naka-flag na address upang makita kung alin ang nakatanggap ng bagong pondo.
- I-update ang kasalukuyang impormasyon ng entity para sa mga address na nakatanggap ng bagong pondo.
Maaaring hindi tumugma ang mga pagbabago sa balanse sa halaga ng transaksyon dahil sa mga pagkabigo ng txid o mga deposito ng smart contract. Ang hindi pag-pansin sa mga deposito ng SC ay tinitiyak na ang gumagamit ay makredito para sa mga deposito ng SC kahit na ang txid ay nabigo.
Pagproseso ng Deposito Batay sa Balanse
Ang pamamaraang ito ay maaaring mangailangan ng mas maraming bandwidth ngunit ay viable para sa mga midrange na serbisyo sa pamamagitan ng pag-poll sa daan-daang libong mga address sa network gamit ang isang remote node. Tinitiyak nito na lahat ng paraan ng deposito ay tamang nakredito, pagpapahusay sa karanasan ng gumagamit.
- Panatilihin ang pinakahuling validated entity data para sa bawat address ng gumagamit.
- Sa isang polling loop, ihambing ang pinakabagong entity data sa validated entity data.
- Patunayan ang pinakabagong entity data gamit ang merkle tree.
- Kung ito ay nagpapatunay, i-update ang validated entity data at bumuo ng isang deposito na kaganapan batay sa pagkakaiba sa kabuuang deposito.
Pagproseso ng Pag-withdraw
Maliit na Dami
- Kumuha ng validated entity data para sa address ng nagpadala.
- I-queue ang isang withdraw transaction batay sa destinasyon at halaga.
- Bumuo ng inaasahang entity data para sa outgoingAmount at ang kasalukuyang outgoingAmount + halaga ng withdrawal.
- Iproseso ang queue sa pamamagitan ng paglikha at pag-broadcast ng withdraw transaction.
- Pagkatapos ng tinukoy na tick, suriin kung ang entity data outgoingAmount ay nagbago sa inaasahang halaga.
- Kung ito ay nagbago, markahan ang withdraw bilang kumpleto, alisin ito mula sa queue, at i-update ang validated entity data. Kung hindi, ulitin ang proseso.
Katamtamang Dami
- Gamitin ang SENDMANY SC command upang i-batch hanggang 25 withdrawals sa isang solong transaksyon.
- I-apply ang parehong lohika tulad ng para sa maliit na dami, gamit ang SENDMANY sa halip ng simpleng send transactions.
- Ang isang solong address na gumagamit ng SENDMANY ay maaaring makamit ang humigit-kumulang 100 withdrawals kada minuto.
Mataas na Dami
- Gamitin ang sendmany app upang magpadala ng hanggang 15,625 na mga pagbabayad, na kumpleto sa humigit-kumulang 20 ticks (~8000 withdrawals kada minuto).
- Ang sendmany app ay gumagamit ng SENDMANY SC sa isang tatlong-level na fanout. Ang mga pagbabayad ay tinukoy sa isang .csv file, na pinoproseso upang kalkulahin ang kabuuang halaga, at ipinapadala sa isang espesyal na address.
- Kapag dumating ang mga pondo, ito ay ipinamamahagi sa tatlong henerasyon (25 x 25 x 25 na mga pagbabayad).
sendmany Repository
Para sa mga detalye tungkol sa sendmany program, bisitahin ang repository:
Konklusyon
Ang pagsasama ng Qubic sa umiiral na mga serbisyo ay nangangailangan ng maingat na pagsasaalang-alang sa paghawak ng data, lalo na para sa mga transaksyong may kinalaman sa pera. Sa pamamagitan ng pagpili ng angkop na paraan ng pagsasama at pagkakaunawa sa mga natatanging aspeto ng Qubic, ang mga serbisyo ay maaaring epektibong pamahalaan ang mga deposito at pag-withdraw sa iba't ibang antas.
Basahin ang βHindi Opisyalβ na Serye ni Qsilver
- Isang Di-Pampublikong Qubic Interim Whitepaper
- Mga Detalye ng Qubic Crypto
- Isang Hindi Opisyal na Gabay sa Pagsasama ng mga Serbisyo ng Qubic
- Isang Di-Awtorisadong Gabay sa Pagsusulat ng Qubic Smart Contracts
Para sa pinakabagong mga update, sumali sa Valis Discord, sundan kami sa X, at i-bookmark ang aming blog.
β Nakaraan
Sa pahinang ito
- Isang Hindi Opisyal na Gabay sa Pagsasama ng mga Serbisyo ng Qubic
- Panimula
- Mahalagang Pagkakaiba tungkol sa Qubic
- Pagproseso ng Deposito
- Pagproseso ng Deposito Batay sa Balanse
- Pagproseso ng Pag-withdraw
- Maliit na Dami
- Katamtamang Dami
- Mataas na Dami
- sendmany Repository
- Konklusyon
- Basahin ang βHindi Opisyalβ na Serye ni Qsilver