En uoffisiell guide til å skrive Qubic Smart Contracts
Denne uoffisielle veiledningen gir en oversikt over utviklingen av Qubic Smart Contracts, og beskriver nøkkelfunksjoner, minneallokering og testprosedyrer for å sikre robust og effektiv distribusjon.
Qsilver - 27. juni 2024.
Introduksjon
Velkommen til den uoffisielle veiledningen for å skrive Qubic Smart Contracts (SC). Denne veiledningen har som mål å gi en klar og konsis oversikt over hvordan man utvikler og implementerer smartkontrakter i Qubic-økosystemet, med utgangspunkt i QPI-kjernedokumentasjonen.
Oversikt over Qubic Smart Contracts
For øyeblikket er QPI-filen på GitHub den primære dokumentasjonen for å skrive SC-er. QPI står for Qubic Programming Interface, som kan sammenlignes med et API (Application Programming Interface), men som er spesifikt for Qubic.
QPI-filen inneholder følgende:
- Forbudte tegn: Ingen multiplikasjons- eller divisjonsoperatorer, ingen preprosessordirektiver.
- Kjernekodens struktur:
- 5000 linjer med kode: Definerer alle typer variabelstørrelser, fra enkeltbiter til matriser med millioner av elementer.
- 1000 linjer med kode: Håndterer ulike køer og relaterte datatyper for effektiv datahåndtering.
- De siste par hundre linjene: Aktiverer tilgang til Qubic-nettverkets tilstand.
Nøkkelfunksjoner i QPI
Her er noen av de viktigste funksjonene i QPI:
Hva betyr dette?
Qubic Smart Contracts er Turing-komplette, noe som betyr at du kan implementere praktisk talt hvilken som helst beregningslogikk. Det er imidlertid visse begrensninger som sikrer at SC-er kjører i et svært avgrenset og sikkert miljø.
Allokering av minne
SCs bruker en statisk minneallokeringsmodell der alt minne må være forhåndsallokert. Denne modellen er avgjørende for å kunne håndtere datastrukturer effektivt innenfor en RAM-grense på 1 GB. Selv om denne grensen skal dobles i fremtiden, er det fortsatt en fast allokering, noe som krever nøye planlegging av minnebruken.
Bruk av bibliotek
For øyeblikket kan du ikke bruke eksterne biblioteker i SC-er; all nødvendig kode må inkluderes direkte i kildekoden. Etter hvert som flere SC-er inkorporerer ulike biblioteker, kan disse bli tilgjengelige for offentlig bruk i andre SC-er.
Transaksjoner og RCF-nettverksmeldinger
Hver SC har en unik adresse som er avledet fra en offentlig nøkkel, der kontrakt-ID-en er de laveste 64 bitene. SC-er påkalles via transaksjoner som sendes til denne adressen, med inputData som spesifiserer operasjonen. I tillegg kan statusen til en SC spørres ut ved hjelp av RCF-nettverksmeldinger.
Eksempel: Airdrop SC
En airdrop-SC kan iterere gjennom et datasett og distribuere QU eller tokens til hver adresse i ett tikk per SC-transaksjon. Med en gjeldende grense på 1 024 transaksjoner per tick kan dette resultere i opptil 500 millioner overføringer per tick. Den faktiske gjennomstrømningen avhenger av kompleksiteten til SC.
Slik tester du SC
- Utvikle din SC: Skriv og feilsøk smartkontraktkoden din.
- Oppdater qubic-cli: Sørg for at SC-transaksjonene og RCF-funksjonene er integrert.
- Oppretten Testnet Core Update: Integrer SC-en din i et testnettmiljø.
- Kjør tester: Bruk qubic-cli til å spørre testnettnoden din og validere SC-ytelsen.
- Stresstesting: Utfør belastningstesting og automatiserte tester for å sikre stabilitet.
- Send inn for godkjenning: Når feilsøkingen er fullført, kan du sende inn SC-en for godkjenning av beslutningsdyktig styre og deretter gå videre til IPO.
Ved å følge disse trinnene kan du sikre at smartkontraktene dine er robuste, effektive og klare for distribusjon i Qubic-nettverket. God fornøyelse med kodingen!
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.
← Forrige
Neste →
På denne siden
- En uoffisiell guide til å skrive Qubic Smart Contracts
- Introduksjon
- Oversikt over Qubic Smart Contracts
- Nøkkelfunksjoner i QPI
- Hva betyr dette?
- Allokering av minne
- Bruk av bibliotek
- Transaksjoner og RCF-nettverksmeldinger
- Eksempel: Airdrop SC
- Slik tester du SC
- Les Qsilvers "Uoffisielle" serie
Relaterte innlegg