Ano ang Solidity at Paano Ito Ginagamit upang Bumuo ng Mga Smart Contract?

Ano ang Solidity at Paano Ito Ginagamit upang Bumuo ng Mga Smart Contract?

Malayo na ang narating ng Solidity mula nang una itong iminungkahi noong 2014 at kalaunan ay binuo ng koponan ng Solidity ng Ethereum. Mayroong daan-daang libong mga developer na gumagamit ng wika ng programa upang lumikha ng mga serbisyong nakabatay sa blockchain para sa isang lumalaking bilang ng mga kaso ng paggamit.





Ipinapaliwanag ng artikulong ito kung ano ang Solidity at kung paano ito ginagamit sa ecosystem ng Ethereum. Ang artikulong ito ay para sa iyo kung interesado kang matuto nang higit pa tungkol sa panloob na paggana ng wikang ito na nakabatay sa blockchain.





sige google buksan ko ang flashlight ko

Ano ang Solidity?

Ang solidity ay isang oriented na object, high-level na wika ng programa na ginagamit upang lumikha ng mga matalinong kontrata na nag-o-automate ng mga transaksyon sa blockchain. Matapos iminungkahi noong 2014, ang wika ay binuo ng mga nag-ambag sa proyekto ng Ethereum. Pangunahing ginagamit ang wika upang lumikha ng mga matalinong kontrata sa Ethereum blockchain at lumikha ng mga matalinong kontrata sa iba pang mga blockchain.





Ang pagiging matatag ay katulad ng isa sa pinakakaraniwang mga wika sa pagprograma, ang JavaScript. Maaari itong maituring bilang isang dayalekto ng JavaScript. Nangangahulugan ito na kung naiintindihan mo ang JavaScript, maaaring madaling kunin ang Solidity. Ang solidity ay nagbabahagi din ng mga katulad na katangian sa mga wika ng programa na C ++ at Python.

Bilang isang mataas na antas na wika, tinatanggal ng Solidity ang pangangailangan na mag-type ng code sa mga at zero. Ginagawa nitong mas madali para sa mga tao na magsulat ng mga programa sa mga paraang mas madaling maintindihan, gamit ang isang kombinasyon ng mga titik at numero.



Ang solidity ay statically type, na may suporta para sa mana, aklatan, at kumplikadong mga uri na tinukoy ng gumagamit. Tulad ng Solidity ay statically type, ang gumagamit ay tumutukoy sa bawat variable. Pinapayagan ng mga uri ng data ang tagatala upang suriin ang tamang paggamit ng mga variable. Ang mga uri ng data ng solidity ay karaniwang ikinategorya bilang alinman sa mga uri ng halaga o mga uri ng sanggunian.

Ang pangunahing pagkakaiba sa pagitan ng mga uri ng halaga at mga uri ng sanggunian ay matatagpuan sa kung paano ito itinalaga sa isang variable at nakaimbak sa EVM (Ethereum Virtual Machine). Habang ang pagbabago ng halaga sa isang variable ng isang uri ng halaga ay hindi nakakaapekto sa halaga sa isa pang variable, ang sinumang tumutukoy sa binago na mga halaga sa mga variable na uri ng sanggunian ay maaaring makakuha ng na-update na mga halaga.





Paano Gumagana ang Solidity?

Ang kagandahan ng ecosystem ng Ethereum ay napakaraming iba't ibang mga cryptocurrency at desentralisadong aplikasyon ang maaaring gumamit nito. Ginawang posible ng mga matalinong kontrata para sa mga natatanging teknolohiya na magawa sa Ethereum para sa lahat ng uri ng mga negosyo at organisasyon.

Taon-taon, gumugugol ang mundo ng bilyun-bilyong dolyar sa mga solusyon sa blockchain. Marami sa mga solusyon na ito ay nilikha gamit ang Solidity. Ang mga matalinong kontrata na itinayo gamit ang Solidity ay maaaring isipin bilang isang paraan upang i-automate ang mga proseso ng negosyo at hindi pangnegosyo sa pagitan ng iba't ibang tao. Tinitiyak nito na ang mga taong gumagawa ng mga transaksyon sa blockchain ay hindi kailangang mag-alala tungkol sa mga panganib tulad ng pandaraya o hindi magagamit ang parehong pera.





Ang isa sa mga pangunahing bahagi na ginagawang posible ang pagpapatupad ng Solidity code ay ang EVM. Inilalarawan ang EVM bilang isang virtual computer sa blockchain na ginagawang code ang mga ideya ng mga tao na nagpapatakbo ng mga application sa blockchain.

Sa ilalim ng hood, lumilikha ang Solidity ng code sa antas ng makina na naisasagawa sa EVM. Ginagamit ang isang tagatala upang masira ang mataas na antas na nababasa ng tao na code, na nagiging mga tagubilin na binabasa ng processor. Nagbibigay ang iba't ibang mga platform ng libreng Solidity compilation, kasama ang Remix online compiler at isang na-download na compiler na tulad ng command sa isang PC.

Ang mga EVM na matalinong kontrata ay may ilang mga limitasyon na kailangang tugunan. Ang isa sa pinakamahalaga sa mga ito ay ang limitadong pag-access sa mga kapaki-pakinabang na function ng library para sa pag-parse ng mga istruktura ng JSON o floating-point arithmetic.

Pampubliko at Pribadong Pag-andar

Ang mga pagpapaandar sa publiko ay katulad ng mga API na maaaring ma-access ng sinuman sa mundo. Kahit sino ay maaaring tumawag sa kanila sa kanilang code. Ang mga pagpapaandar sa publiko ay dinisenyo, sa maraming mga kaso, para sa mga nakabahaging proseso sa isang platform na ginagamit ng lahat ng mga gumagamit.

Halimbawa, maaaring magawa ang isang pampublikong pag-andar upang payagan ang lahat ng mga gumagamit ng isang platform na suriin ang balanse ng kanilang account. Ang isa sa pinakakaraniwang paraan ng pagsasamantala sa mga matalinong kontrata ay sa pamamagitan ng mga pagpapaandar ng publiko.

Kaugnay: Ano ang isang Blockchain at Paano Ito Gumagana?

Habang ang matalinong mga kontrata ay maaaring madaling isulat sa Solidity, madalas napakahirap isulat ang mga ito nang ligtas. Halimbawa, kung ang pag-andar ng withdrawal sa isang matalinong kontrata ay hindi ligtas, maaaring manipulahin ng isang umaatake ang mahina na pagpapaandar upang maubos ang isang account ng mga pondo.

Maaaring tumawag ang isang magsasalakay sa isang function ng pag-atras upang magpadala ng pera sa ibang account, gamit ang isang loop na paulit-ulit na inuulit ang pag-andar ng withdrawal.

Ang mga pribadong pag-andar ay matatawagan lamang mula sa loob ng mga kontrata. Naglalaman ang mga ito ng mga tagubilin na maaari lamang maisagawa pagkatapos na tawagan ng iba pang mga pagpapaandar, sa isang kadena. Ginagawa nitong mas mahirap para sa code na manipulahin ng mga nakakahamak na artista.

Mga Pamantayan at Logic ng Code

Lumilitaw ang magkakaibang pamantayan na tumutukoy kung paano ginagamit ang mga solidity na kontrata ng matalinong upang bumuo ng mga application sa Ethereum. Ang mga pamantayang ito ay kilala bilang pamantayan ng ERC (Ethereum Request for Komento). Ang mga pamantayan ay batay sa isang dokumento na naglalaman ng mga alituntunin sa mga kinakailangang pag-andar at paghihigpit sa kung paano dapat kumilos ang code.

Ang mga pamantayan ng ERC na tumutukoy kung paano gumagana ang Solidity ay kasama:

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

Mayroong iba't ibang mga paraan na maaaring magamit ang Solidity upang makagawa ng matalinong mga kontrata na makipag-ugnay sa bawat isa. Maaari ring magamit ang solidity upang makagawa ng mga nakatuon na tagubilin sa kung paano nakaimbak ang data sa matalinong kontrata. Ang lohika at data sa mga matalinong kontrata ay maaaring ihiwalay gamit ang Solidity. Gamit ang mga kapalit na kontrata, ang lohika ng isang kontrata ay maaaring mabago upang payagan ito.

Kawalan ng kakayahan

Imposibleng baguhin ang code ng isang matalinong kontrata matapos itong maisulat at naipon. Nangangahulugan ito na ang bawat linya ng code ay dapat gumana bilang inilaan o kung hindi man ay maaaring may mga seryosong peligro ng code na pinagsamantalahan.

Kaugnay: Paano Maging isang Blockchain Programmer at Magsimulang Gumawa ng Malaking Bucks

Dahil ang Ethereum blockchain ay hindi nababago, imposibleng baguhin ang data at lohika na nakasulat dito. Ang isang paraan upang makaikot dito ay ang paggamit ng isang proxy upang ituro ang isa pang kontrata na naglalaman ng aktwal na lohika sa negosyo. Pinapayagan nitong maayos ang mga bug habang ipinatupad ang isang bagong bersyon ng kontrata.

bakit wala akong mga karapatan sa admin sa aking computer

Mga Gastos sa Gas

Mayroong mga karagdagang gastos na binabayaran para sa paggamit ng Solidity sa Ethereum mainnet. Ang ilan sa mga labis na gastos ay batay sa gas system sa Ethereum, na nangangailangan ng pagbabayad sa mga minero para sa pag-secure ng blockchain network upang ang code ay maaaring tumakbo nang ligtas dito.

Kapag sumusulat ng mga matalinong kontrata, mahalagang tandaan na ang mga gastos sa gas ay maaaring matukoy kung gaano kakagawa ang isang matalinong kontrata. Habang binabayaran ang mga bayarin sa gas para sa bawat puwang sa pag-iimbak na ginamit, ang mga pagkilos na naisakatuparan gamit ang gasolina ng code ng Solidity code. Ang isang matalinong kontrata na mahal na patakbuhin ay malamang na hindi magamit sa pangmatagalan.

Ang pag-optimize sa gas ay makakatulong upang mabawasan ang gastos ng gas kapag naisagawa ang Solidity code. Ang ilan sa mga pinakatanyag na pamamaraan ng pag-optimize sa gas ay kasama ang paggamit ng mga aklatan at paggamit ng mas kaunting mga pag-andar. Ang mga aklatan ay madalas na ginagamit upang makatipid ng bytecode.

Sa halip na magdagdag ng hindi kinakailangang bytecode sa matalinong kontrata, ang lohika ay maaaring ilagay sa mga aklatan. Nakakatulong ito upang panatilihing maliit ang matalinong laki ng kontrata. Sa pamamagitan ng paggamit ng mas kaunting mga pag-andar, mas kaunting bytecode ang kinakailangan, at ang paghihirap ng pag-audit ng code ay nabawasan din.

Paano Magagamit ang Solidity sa Ethereum?

Ginagamit ang solidity upang lumikha ng mga matalinong kontrata para sa mga fungible token at di-fungible na token. Ang iba't ibang mga pamantayan ay ginagamit upang bumuo ng mga hindi magagamit na mga token at fungible token sa Ethereum ecosystem.

Pinapayagan nitong malikha ang iba't ibang mga uri ng mga kaso ng paggamit para sa mga taong gumagamit ng blockchain. Binibigyang-daan ng kasiglahan ang mga tao na gumamit ng mga token at hindi magagamit na mga token sa Ethereum. Mula sa pagmamapa ng mga di-nakagagamot na mga token hanggang sa pagdaragdag ng mga ito upang magbunga ng mga pool ng pagsasaka para sa labis na interes, iba't ibang mga uri ng paggamit para sa mga token ang ginawang posible ng Ethereum.

Ang Desentralisadong Autonomous Organizations (DAOs) ay ginawang posible rin ng Solidity. Ang isang DAO, na kung saan ay isang bagong uri ng istraktura ng online na organisasyon, ay pangunahing isinulat sa Solidity. Pinapayagan ng mga DAO ang iba't ibang mga tao na magsama bilang mga miyembro sa isang online platform kung saan bumoto sila sa mga pangunahing desisyon ng DAO.

Ginagawang posible ng solidity na i-automate ang mga proseso sa loob ng DAO. Ang mga halimbawa ng proseso ng pag-aautomat sa DAO ay kasama ang paggawa ng mga boto para sa mga pangunahing desisyon at paglalaan ng reputasyon sa mga miyembro ng DAO para sa kanilang mga naiambag sa grupo.

Pagtukoy sa Mga Pamantayan para sa Mga Blockchain

Ang pagiging solido ay higit pa sa isang wika sa pagprograma. Ito ay tumutukoy sa mga pamantayan para sa hinaharap ng teknolohiya ng blockchain.

Salamat sa bilang ng mga open-source developer na nagtatrabaho upang mapagbuti ang seguridad at pagganap ng Solidity, libu-libong mga application sa Ethereum ecosystem ang patuloy na umaasa dito para sa kanilang mga aplikasyon upang gumana. Tulad ng mga bagong pamantayan na nilikha para sa matalinong mga kontrata sa Ethereum, ang wika ay magiging mas ligtas na gamitin.

Magbahagi Magbahagi Mag-tweet Email Posible ba ang Tunay na Desentralisadong Internet? Paano Ito Magagawa Sa Blockchain

Posible ba ang isang tunay na desentralisadong internet? Ano ang ibig sabihin ng desentralisasyon, at paano ito mapanatili mong ligtas?

Basahin Susunod
Mga Kaugnay na Paksa
  • Ipinaliwanag ang Teknolohiya
  • Programming
  • Ethereum
  • Blockchain
Tungkol sa May-akda Calvin Ebun-Amu(48 na Artikulo Na-publish)

Si Calvin ay isang manunulat sa MakeUseOf. Kapag hindi niya pinapanood sina Rick at Morty o ang kanyang mga paboritong koponan sa palakasan, nagsusulat si Calvin tungkol sa mga startup, blockchain, cybersecurity, at iba pang mga larangan ng teknolohiya.

Higit pa Mula kay Calvin Ebun-Amu

Mag-subscribe sa aming newsletter

Sumali sa aming newsletter para sa mga tip sa tech, pagsusuri, libreng ebook, at eksklusibong deal!

Mag-click dito upang mag-subscribe