Logo
  • Etusivu
  • Blogi
  • Yhteystiedot
Help us build Valis
🇫🇮

Ei Virallinen Opas Qubic Smart Contractien Kirjoittamiseen

image

Epävirallinen opas Qubic Smart Contracts -sopimusten kirjoittamiseen

Tämä epävirallinen opas tarjoaa yleiskatsauksen Qubic Smart Contracts -sopimusten kehittämiseen ja esittelee yksityiskohtaisesti keskeiset toiminnot, muistin jakamisen ja testausmenettelyt, joilla varmistetaan vankka ja tehokas käyttöönotto.

Qsilver - 27. kesäkuuta 2024.

Johdanto

Tervetuloa Qubicin älysopimusten (SC) kirjoittamisen epäviralliseen oppaaseen. Tämän oppaan tarkoituksena on tarjota selkeä ja tiivis yleiskatsaus siitä, miten älysopimuksia kehitetään ja toteutetaan Qubic-ekosysteemissä QPI:n ydindokumentaation pohjalta.

Yleiskatsaus Qubicin älysopimuksiin

Tällä hetkellä ensisijainen dokumentaatio SC-sopimusten kirjoittamiseen on GitHubissa oleva QPI-tiedosto. QPI on lyhenne sanoista Qubic Programming Interface (Qubic-ohjelmointirajapinta), joka on analoginen API:n (Application Programming Interface) kanssa, mutta Qubicille ominainen.

QPI-tiedosto sisältää:

  • Kielletyt merkit: Ei kerto- tai jako-operaattoreita, ei preprocessor-direktiivejä.
  • Ydinkoodin rakenne:
    • 5000 riviä koodia: Määrittelee kaikki muuttujan kokotyypit yksittäisistä biteistä miljoonia elementtejä sisältäviin matriiseihin.
    • 1000 riviä koodia: Hallitsee erilaisia jonoja ja niihin liittyviä tietotyyppejä tehokasta tietojenkäsittelyä varten.
    • Viimeiset muutama sata riviä: Mahdollistaa pääsyn Qubic-verkon tilaan.

QPI:n keskeiset toiminnot

Seuraavassa on joitakin QPI:n keskeisiä toimintoja:

Mitä tämä tarkoittaa?

Qubicin älysopimukset ovat Turingin täydellisiä, mikä tarkoittaa, että voit toteuttaa käytännössä minkä tahansa laskennallisen logiikan. Tietyt rajoitukset kuitenkin varmistavat, että SC:t toimivat erittäin lokeroidussa ja turvallisessa ympäristössä.

Muistin jakaminen

SC:t käyttävät staattista muistinjakomallia, jossa kaikki muisti on varattava etukäteen. Tämä rakenne on ratkaisevan tärkeä, jotta tietorakenteita voidaan hallita tehokkaasti 1 Gt:n RAM-muistirajoituksen puitteissa. Vaikka tämä raja on tarkoitus kaksinkertaistaa tulevaisuudessa, se on edelleen kiinteä varaus, mikä edellyttää muistin käytön huolellista suunnittelua.

Kirjaston käyttö

Tällä hetkellä SC:ssä ei voi käyttää ulkoisia kirjastoja, vaan kaikki tarvittava koodi on sisällytettävä suoraan lähdekoodiin. Ajan mittaan, kun yhä useammat SC:t sisältävät erilaisia kirjastoja, ne voivat tulla saataville yleiseen käyttöön muissa SC:issä.

Transaktiot ja RCF-verkkosanomat

Kullakin SC:llä on yksilöllinen osoite, joka on johdettu julkisesta avaimesta, ja sopimuksen tunnus on alimmat 64 bittiä. SC-yksiköitä kutsutaan tähän osoitteeseen lähetettävillä transaktioilla, joissa inputData määrittelee operaation. Lisäksi SC:n tilaa voidaan kysyä RCF-verkkosanomilla.

Esimerkki: Airdrop SC

Airdrop SC voisi käydä läpi tietokokonaisuuden ja jakaa QU:n tai poletteja kuhunkin osoitteeseen yhdellä tikillä SC-tapahtumaa kohti. Kun nykyinen rajoitus on 1024 transaktiota tikissä, tämä voisi johtaa jopa 500 miljoonaan siirtoon tikissä. Todellinen suoritusteho riippuu SC:n monimutkaisuudesta.

SC:n testaaminen

  1. Kehitä SC:si: Kirjoita ja debuggaa älykkään sopimuksen koodi.
  2. Päivitä qubic-cli: Varmista, että SC-tapahtumat ja RCF-toiminnot on integroitu.
  3. Luo testiverkon ydinpäivitys: Integroi SC:si testiverkkoympäristöön.
  4. Suorita testit: Käytä qubic-cli:tä testnet-solmun kyselyyn ja SC:n suorituskyvyn validointiin.
  5. Stressitestaus: Suorita kuormitustestit ja automaattiset testit vakauden varmistamiseksi.
  6. Lähetä hyväksyttäväksi: Kun virheenkorjaus on valmis, lähetä SC:n hyväksyntää varten ja siirry sitten IPO:hon.

Seuraamalla näitä vaiheita voit varmistaa, että älykkäät sopimuksesi ovat vankkoja, tehokkaita ja valmiita käyttöönotettavaksi Qubic-verkossa. Hyvää koodausta!

Lue Qsilvern "Epävirallinen" sarja

  • 🇫🇮Qubic Crypto Yksityiskohdat
  • 🇫🇮Epävirallinen Qubic-väliaikainen valkoinen kirja
  • 🇫🇮Ei Virallinen Opas Qubic-palvelujen Integraatioon
  • 🇫🇮Ei Virallinen Opas Qubic Smart Contractien Kirjoittamiseen
Saat viimeisimmät päivitykset liittymällä Valis Discordiin, seuraamalla meitä X:ssä ja lisäämällä blogimme kirjanmerkkeihin.

← Edellinen

🇫🇮QWALLET ja QPOOL joukkorahoitus 🎉

Seuraava →

🇫🇮Qearn: Risiko-Fri Tuotto Lukitsemalla QU

Tällä sivulla

  • Epävirallinen opas Qubic Smart Contracts -sopimusten kirjoittamiseen
  • Johdanto
  • Yleiskatsaus Qubicin älysopimuksiin
  • QPI:n keskeiset toiminnot
  • Mitä tämä tarkoittaa?
  • Muistin jakaminen
  • Kirjaston käyttö
  • Transaktiot ja RCF-verkkosanomat
  • Esimerkki: Airdrop SC
  • SC:n testaaminen
  • Lue Qsilvern "Epävirallinen" sarja

Aiheeseen liittyvät julkaisut

Logo

Execution

|

Transparency

XRSSDiscordGitHub
id arbitrator() const;
id computor(uint16 computorIndex) const; // [0..675]
uint8 day() const; // [1..31]
uint8 dayOfWeek() const; // [0..6]
uint16 epoch() const; // [0..9'999]
bit getEntity() const; // Returns “true” if the entity has been found, “false” otherwise
uint8 hour() const; // [0..23]
sint64 invocationReward() const;
id invocator() const; // Returns the id of the user/contract that triggered this contract; returns NULL_ID if none
template <typename T> id K12(const T& data) const;
uint16 millisecond() const; // [0..999]
uint8 minute() const; // [0..59]
uint8 month() const; // [1..12]
id nextId(const id& currentId) const;
sint64 numberOfPossessedShares() const;
id originator() const; // Returns the id of the user who triggered the entire chain of invocations; returns NULL_ID if none
uint8 second() const; // [0..59]
bit signatureValidity() const;
uint32 tick() const; // [0..999'999'999]
uint8 year() const; // [0..99] (0 = 2000, 1 = 2001, …, 99 = 2099)