Vakavuus on mennyt pitkälle siitä lähtien, kun sitä ehdotettiin ensimmäisen kerran vuonna 2014 ja myöhemmin kehitti Ethereumin Solidity-tiimi. On satoja tuhansia kehittäjiä, jotka käyttävät ohjelmointikieltä luomaan blockchain-pohjaisia ​​palveluita yhä useammalle käyttötapaukselle.

Tässä artikkelissa selitetään, mikä kiinteys on ja miten sitä käytetään Ethereumin ekosysteemissä. Tämä artikkeli on tarkoitettu sinulle, jos olet kiinnostunut oppimaan lisää tämän blockchain-pohjaisen ohjelmointikielen sisäisestä toiminnasta.

Mikä on vakavuus?

Solidity on olioihin suuntautunut, korkean tason ohjelmointikieli, jota käytetään luomaan älykkäitä sopimuksia, jotka automatisoivat tapahtumia lohkoketjussa. Ehdotuksen vuonna 2014 jälkeen Ethereum-projektin avustajat kehittivät kielen. Kieltä käytetään ensisijaisesti älykkäiden sopimusten luomiseen Ethereumin estoketju ja luoda älykkäitä sopimuksia muille lohkoketjuille.

Vakaus on samanlainen kuin yksi yleisimmistä ohjelmointikielistä, JavaScript. Sitä voidaan pitää JavaScriptin murteena. Tämä tarkoittaa, että jos ymmärrät JavaScriptiä, voi olla helppoa noutaa Solidity. Solidityllä on myös samanlaiset ominaisuudet kuin ohjelmointikielillä C ++ ja Python.

instagram viewer

Korkean tason kielenä Solidaarisuus poistaa tarpeen kirjoittaa koodi ykköseksi ja nollaksi. Se helpottaa ihmisten kirjoittamista ohjelmilla tavoilla, jotka heidän on helpompi ymmärtää, käyttämällä kirjainten ja numeroiden yhdistelmää.

Vakaus kirjoitetaan staattisesti, ja se tukee perintöä, kirjastoja ja monimutkaisia ​​käyttäjän määrittelemiä tyyppejä. Koska vakavuus kirjoitetaan staattisesti, käyttäjä määrittää paljon muuttujia. Tietotyyppien avulla kääntäjä voi tarkistaa muuttujien oikean käytön. Vakavuustietotyypit luokitellaan yleensä joko arvotyypeiksi tai viitetyypeiksi.

Suurin ero arvotyyppien ja viitetyyppien välillä löytyy siitä, kuinka ne määritetään muuttujalle ja tallennetaan EVM: ään (Ethereum Virtual Machine). Vaikka arvon muuttaminen arvotyypin yhdessä muuttujassa ei vaikuta toisen muuttujan arvoon, kuka tahansa, joka viittaa muutettuihin arvoihin viitetyyppisissä muuttujissa, voi saada päivitetyt arvot.

Kuinka vakavuus toimii?

Ethereumin ekosysteemin kauneus on, että niin monet erilaiset kryptovaluutat ja hajautetut sovellukset voivat käyttää sitä. Älykkäät sopimukset mahdollistavat ainutlaatuisten tekniikoiden valmistamisen Ethereumilla kaikenlaisille yrityksille ja organisaatioille.

Joka vuosi maailma käyttää miljardeja dollareita blockchain-ratkaisuihin. Monet näistä ratkaisuista luodaan Solidityn avulla. Solidityn avulla rakennettuja älykkäitä sopimuksia voidaan ajatella keinona automatisoida liike- ja muut prosessit eri ihmisten välillä. Näin varmistetaan, että estoketjussa liiketoimia tekevien ihmisten ei tarvitse huolehtia petoksista tai mahdollisuudesta käyttää samaa valuuttaa.

Yksi avainkomponenteista, joka tekee vakavuuskoodin suorittamisen mahdolliseksi, on EVM. EVM on kuvattu virtuaalitietokoneeksi blockchainissa, joka muuttaa ihmisten ideat koodiksi, joka käyttää sovelluksia blockchainissa.

Konepellin alla Solidity luo konetason koodin, joka suoritetaan EVM: lle. Kääntäjää käytetään hajottamaan korkean tason luettavissa oleva koodi, joka muuttuu prosessorin lukemiksi ohjeiksi. Eri alustat tarjoavat ilmaisen Solidity-kokoelman, mukaan lukien Remix-online-kääntäjä ja ladattu komentomaisen kääntäjä tietokoneelle.

EVM: n älykkäillä sopimuksilla on joitain rajoituksia, joihin on puututtava. Yksi merkittävimmistä näistä on rajoitettu pääsy hyödyllisiin kirjastotoimintoihin JSON-rakenteiden tai liukulukuaritmeettisen jäsentämisen kannalta.

Julkiset ja yksityiset toiminnot

Julkiset toiminnot ovat samanlaisia ​​kuin sovellusliittymät, joita kuka tahansa maailmassa voi käyttää. Kuka tahansa voi soittaa heille koodillaan. Julkiset toiminnot on suunniteltu monissa tapauksissa jaettuihin prosesseihin alustalla, jota kaikki käyttäjät käyttävät.

Esimerkiksi julkinen toiminto voidaan antaa kaikille alustan käyttäjille mahdolliseksi tarkistaa tilisaldonsa. Yksi yleisimmistä tavoista hyödyntää älykkäitä sopimuksia on julkisten toimintojen kautta.

Liittyvät: Mikä on estoketju ja miten se toimii?

Älykkäitä sopimuksia voi olla helppo kirjoittaa Solidityn kanssa, mutta usein on erittäin vaikea kirjoittaa niitä turvallisesti. Esimerkiksi, jos älykkään sopimuksen nostotoiminto ei ole turvallinen, hyökkääjä voi manipuloida haavoittuvaa toimintoa tyhjentääkseen tilin.

Hyökkääjä voi käyttää nostotoimintoa lähettääkseen rahaa toiselle tilille käyttämällä silmukkaa, joka toistaa toistuvasti nostotoiminnon.

Yksityiset toiminnot voidaan kutsua vain sopimusten sisältä. Ne sisältävät ohjeita, jotka voidaan suorittaa vasta, kun muut toiminnot ovat kutsuneet ketjussa. Tämän vuoksi haitallisten toimijoiden on vaikeampaa manipuloida koodia.

Standardit ja koodilogiikka

Eri standardeja on tulossa, jotka määräävät, kuinka Solidity-älykkäitä sopimuksia käytetään sovellusten rakentamiseen Ethereumille. Nämä standardit tunnetaan nimellä ERC (Ethereum Request for Comments) standardit. Standardit perustuvat asiakirjaan, joka sisältää ohjeet vaadituista toiminnoista ja rajoituksista koodin käyttäytymiselle.

ERC-standardit, jotka määrittelevät vakauden toiminnan, ovat:

  • ERC20
  • ERC165
  • ERC721
  • ERC223
  • ERC621
  • ERC777
  • ERC827
  • ERC884
  • ERC865
  • ERC1155

On olemassa erilaisia ​​tapoja, joilla vakautta voidaan käyttää älykkäiden sopimusten tekemisessä keskenään. Vakautta voidaan käyttää myös erillisten ohjeiden tekemiseen siitä, miten tietoja tallennetaan älykkääseen sopimukseen. Älykkäiden sopimusten logiikka ja tiedot voidaan erottaa käyttämällä vakautta. Käyttämällä korvaavia sopimuksia sopimuksen logiikkaa voidaan muuttaa tämän mahdollistamiseksi.

Muuttamattomuus

Älykkään sopimuksen koodia on mahdotonta muuttaa sen kirjoittamisen ja kokoamisen jälkeen. Tämä tarkoittaa, että jokaisen koodirivin on toimittava suunnitellulla tavalla, muuten koodin hyödyntäminen saattaa aiheuttaa vakavia riskejä.

Liittyvät: Kuinka tulla Blockchain-ohjelmoijaksi ja alkaa ansaita suuria taaloja

Koska Ethereum-lohkoketju on muuttumaton, sille kirjoitettua tietoa ja logiikkaa on mahdotonta muuttaa. Tapa kiertää tämä on käyttää välityspalvelinta osoittamaan toiseen sopimukseen, joka sisältää todellisen liiketoimintalogiikan. Tämä mahdollistaa virheiden korjaamisen, kun sopimuksen uusi versio otetaan käyttöön.

Kaasukustannukset

Solidityn käytöstä Ethereumin mainnetissa maksetaan lisäkustannuksia. Osa lisäkustannuksista perustuu Ethereumin kaasujärjestelmään, joka vaatii kaivostyöläisiltä maksun lohkoketjuverkon suojaamisesta, jotta koodi voi toimia turvallisesti siinä.

Älykkäitä sopimuksia kirjoitettaessa on tärkeää muistaa, että kaasukustannukset voivat määrittää älykkään sopimuksen suorituskyvyn. Koska kaasumaksut maksetaan jokaisesta käytetystä varastointipaikasta, Solidity-koodilla suoritetut toimet maksavat kaasua. Älykkäitä sopimuksia, joiden toteuttaminen on kallista, ei todennäköisesti käytetä pitkällä aikavälillä.

Kaasun optimointi auttaa vähentämään kaasun kustannuksia, kun Solidity-koodi suoritetaan. Jotkut suosituimmista kaasunoptimointimenetelmistä sisältävät kirjastojen käytön ja vähemmän toimintoja. Kirjastoja käytetään usein tavukoodin tallentamiseen.

Sen sijaan, että lisättäisiin tarpeettomia tavukoodeja älykkääseen sopimukseen, logiikka voidaan laittaa kirjastoihin. Tämä auttaa pitämään älykkään sopimuksen koon pienenä. Käyttämällä vähemmän toimintoja tarvitaan vähemmän tavukoodia, ja myös koodin valvonnan vaikeus vähenee.

Kuinka kiinteyttä voidaan käyttää Ethereumissa?

Vakautta käytetään älykkäiden sopimusten luomiseen vaihdettavissa oleville ja ei-vaihdettavissa oleville tunnuksille. Eri standardeja käytetään rakentamattomien merkkien ja vaihdettavien rahakkeiden rakentamiseen Ethereumin ekosysteemiin.

Nämä mahdollistavat erityyppisten käyttötapausten luomisen ihmisille, jotka käyttävät blockchainia. Vakauden ansiosta ihmiset voivat käyttää tunnuksia ja ei-vaihdettavat merkit Ethereumissa. Ethereum tarjoaa mahdollisuuden erilaisten merkkien käyttötapoihin lyömättömien rahakkeiden lyömisestä niiden lisäämiseen viljelypoolien tuottamiseen erityistä kiinnostusta varten.

Hajautetut autonomiset organisaatiot (DAO) ovat myös mahdollisia Solidityn avulla. DAO, joka on uudentyyppinen online-organisaatiorakenne, on kirjoitettu ensisijaisesti Solidityyn. DAO: n avulla eri ihmiset voivat kokoontua jäseniksi online-alustalle, jossa he äänestävät DAO: n tärkeimmistä päätöksistä.

Vakavuus mahdollistaa prosessien automatisoinnin DAO: n sisällä. Esimerkkejä DAO: n prosessiautomaatioista ovat äänestäminen tärkeimmistä päätöksistä ja maineen jakaminen DAO: n jäsenille heidän panoksestaan ​​ryhmään.

Lohkoketjujen standardien määrittely

Vakaus on paljon enemmän kuin ohjelmointikieli. Se määrittelee standardit blockchain-tekniikan tulevaisuudelle.

Kiitos avoimen lähdekoodin kehittäjien määrän, jotka pyrkivät parantamaan Solidityn turvallisuutta ja suorituskykyä, tuhannet Ethereumin ekosysteemin sovellukset ovat edelleen riippuvaisia ​​siitä, mihin sovelluksiin niitä käytetään käyttää. Kun älykkäille sopimuksille luodaan uusia standardeja Ethereumissa, kielen käyttö on turvallisempaa.

Sähköposti
Onko todella hajautettu Internet mahdollista? Kuinka se voisi toimia blockchainin kanssa

Onko todella hajautettu Internet mahdollista? Mitä hajauttaminen tarkoittaa, ja miten se turvaisi sinut?

Lue seuraava

Liittyvät aiheet
  • Teknologia selitetty
  • Ohjelmointi
  • Ethereum
  • Blockchain
Kirjailijasta
Calvin Ebun-Amu (15 artikkelia julkaistu)

Calvin on kirjailija MakeUseOfissa. Kun hän ei seuraa Rickiä ja Mortyä tai hänen suosikkiurheilijoukkueitaan, Calvin kirjoittaa startup-yrityksistä, blockchainista, kyberturvallisuudesta ja muista tekniikan alueista.

Lisää artistilta Calvin Ebun-Amu

Tilaa uutiskirjeemme

Liity uutiskirjeeseemme, jossa on teknisiä vinkkejä, arvosteluja, ilmaisia ​​e-kirjoja ja erikoistarjouksia!

Vielä yksi askel !!!

Vahvista sähköpostiosoitteesi juuri lähettämässäsi sähköpostissa.

.