Ano ang Mga Smart Contract? Isang Gabay ng Baguhan Sa Mga Smart Contract



Bibigyan ka ng blog na ito ng isang malinaw na larawan ng mga matalinong kontrata, iba't ibang mga platform upang sumulat ng mga matalinong kontrata at tatalakayin din ang isang praktikal na kaso ng paggamit ng isang application ng smart contract ng Ethereum.

Ang parirala at konsepto ng 'Mga Smart Kontrata' ay iminungkahi ni Nick Szabo na may pangitain na pahabain ang pagpapaandar ng mga elektronikong pamamaraan ng transaksyon, tulad ng POS (point of sale), sa larangan ng digital. Ang matalinong mga kontrata ay makakatulong sa iyo na makipagpalitan ng ari-arian, pagbabahagi, o anumang bagay na may halaga sa isang transparent, walang kontrahan na paraan habang iniiwasan ang mga serbisyo ng isang middleman.
Ang code ng Ethereum-Smart Contracts-edureka

Ang mga sumusunod ay ang mga paksang sasaklawin namin sa blog ng Smart Contract na ito:





    1. Ano ang Mga Smart Contract?
    2. Mga Smart Kontrata Ni Nick Szabo
    3. Bakit Kailangan Namin ang Mga Smart Contract?
    4. Mga Smart Kontrata: Pagkumplikado Bilang Mga Kaso sa Paggamit
    5. Kaso ng Paggamit ng Mga Matalinong Kontrata: industriya ng Pangangalaga ng Kalusugan
    6. Mga Kalamangan sa Smart Contract
    7. Mga Blockchain Platform Para sa Pagsulat ng Mga Matalinong Kontrata
    8. Mga tool para sa Pagsulat at Pag-deploy ng Mga Smart Contract
    9. Mga Wika sa Programming Para sa Pagsulat ng Ethereum
    10. Pag-transfer ng Ari-arian ng Smart Kontrata

    Ano ang Mga Smart Contract?

    Ang mga matalinong kontrata ay isang self-operating computer program na awtomatikong isinasagawa kapag natutugunan ang mga tukoy na kundisyon.

    Mga Smart Kontrata = Mga Hindi Pinagkakatiwalaang Kontrata



    Sa matalinong mga kontrata, maaari kang magbahagi ng anumang bagay na may halaga, sa mga hindi kilalang tao sa isang transparent na paraan na walang kontrahan.

    Maaari mo ring maiisip ang mga matalinong kontrata bilang isang Blockchainbatay sa vending machine. Tulad ng pag-configure ng vending machine upang kumuha ng dolyar upang maipadala ang iyong pagpipilian ng item, ginagamit ang mga matalinong kontrata ether bilang isang gasolina upang magpatupad ng code batay sa paunang naka-configure na mga panuntunan.

Ano ang Mga Smart Contract | I-deploy ang Iyong Unang Kontrata ng Smart sa Ethereum | Edureka

  1. Mga Smart Kontrata Ni Nick Szabo

    Sa kanyang papel, iminungkahi ni Szabo ang pagpapatupad ng isang kontrata para sa mga synthetic assets, tulad ng mga derivatives at bond. 'Ang mga bagong security ay nabuo sa pamamagitan ng pagsasama-sama ng mga security (tulad ng mga bono) at mga derivatives (mga pagpipilian at futures) sa iba't ibang mga paraan. Napaka kumplikadong mga istruktura ng term para sa mga pagbabayad ay maaari nang maitayo sa pamantayan ng mga kontrata at ipinagpalit na may mababang gastos sa transaksyon, dahil sa nakomputerpagtatasa ng mga kumplikadong term na istraktura na ito, 'isinulat niya.



    overloading vs overriding c ++
  1. Bakit Kailangan Namin ang Mga Smart Contract?

    Maaari nating mai-automate ang maraming mga solusyon sa pamamagitan ng pagsulat ng isang kontrata sa isang Blockchain upang gawing simple at mahusay ang mga bagay. ihambing at suriin natin kung paano mas mahusay ang mga matalinong kontrata kaysa sa tradisyunal na mga kontrata.

    Mga Smart Kontrata: Pagkumplikado Bilang Mga Kaso sa Paggamit

    Ang mga pagiging kumplikado ng mga kontrata ay nakasalalay sa mga kaso ng paggamit na pinapangarap mong mag-code sa blockchain. Ang imahe sa ibaba ay magbibigay sa iyo ng isang mas mahusay na kalinawan sa mga kumplikado ng mga matalinong kontrata.

    Sa pamamagitan ng kontekstwalisadong matalinong mga kontrata hindi lamang ang mga kumpanya ay makakakuha ng awtomatiko, kundi pati na rin ang isang desentralisadong autonomous na pamahalaan ay maaaring mabuo.


    Unawain natin kung paano gumagana ang matalinong mga kontrata sa tulong ng case ng paggamit.

    Kaso ng Paggamit ng Mga Matalinong Kontrata: industriya ng Pangangalaga ng Kalusugan

    Pamamahala ng Data ng Pasyente: Pagdating sa pamamahala ng data ng pasyente, mayroong dalawang pangunahing isyu sa industriya ng pangangalaga ng kalusugan:

    • Una , ang bawat pasyente ay natatangi, samakatuwid ang pag-access sa kumpletong mga medikal na tala ay mahalaga upang maiakma ang paggamot at magbigay ng isinapersonal na pangangalaga
    • Pangalawa , pagbabahagi ng impormasyon sa pamayanan ng medikal ay isang pangunahing hamon

    Ngayon, ang mga isinaad na isinasaad na isyu ay maaaring malutas gamit ang pag-andar ng mga matalinong kontrata sa mga blockchain.

    Mga Kalamangan sa Smart Kontrata

    Narito kung ano ang ibinibigay sa iyo ng mga Smart Contract:

    Mga Blockchain Platform para sa Pagsulat ng Mga Smart Contract

    Habang Ethereum ay ang pinakatanyag na platform para sa pagsusulat ng mga kontrata, hindi lamang ito ang isa. Ang mga sumusunod ay ilan sa iba pang mga platform na ginamit para sa pagsusulat ng mga matalinong kontrata:

    Mga Bitcoin: Gumagamit ang Bitcoin ng Script na may limitadong mga kakayahan kapag nagpoproseso ng mga dokumento. Ang Mga Script ay partikular na idinisenyo upang maproseso ang mga transaksyon sa Bitcoin.

    Hyperledger Fabric : Sa Tela, ang Chaincode ay isang programmatic code na ipinakalat sa network, kung saan ito ay naisakatuparan at napatunayan ng mga chain validator na magkasama sa proseso ng pinagkasunduan.

    NXT: Ito ay isang pampublikong platform ng blockchain na naglalaman ng isang limitadong pagpipilian ng mga template para sa mga matalinong kontrata. Kailangan mong gamitin kung ano ang ibinigay, hindi ka maaaring magsulat ng iyong sariling code.

    Mga Chain sa gilid: Pinahuhusay ng mga kadena sa gilid ang pagganap ng Blockchains at mga proteksyon sa privacy. Nagdagdag din sila ng mga kakayahankatuladmatalinong kontrata, secure na hawakan,at pagpapatala ng real-world na pag-aari.

    Mga tool para sa Pagsulat at Pag-deploy ng Mga Smart Contract

    1. Mist Browser - Ito ay isang tool upang mag-browse at gumamit ng mga dApps. Ito ay isang hiwalay na browser na maaaring magamit upang mag-browse ng mga dApps at makipag-ugnay sa kanila.
    2. Truffle Framework - Ang Truffle ay isang tanyag na balangkas ng pag-unlad para sa Ethereum. Mayroon itong built-in na matalinong pagtitipon ng kontrata, pag-link, pag-deploy, at pamamahala ng binary.
    3. Metamask - Ang MetaMask ay isang tulay na nagpapahintulot sa isa na bisitahin ang ibinahaging web bukas sa kanilang browser ngayon. Pinapayagan nitong patakbo ng mga gumagamit ang Ethereum dApps sa kanilang browser nang hindi pinapatakbo ang isang buong node ng Ethereum.
    4. Remix - Ang Remix ay isang batay sa web browser na IDE na nagbibigay-daan sa mga gumagamit na magsulat ng Solidity smart na mga kontrata, pagkatapos ay i-deploy at patakbuhin ang matalinong kontrata.

    Mga Wika sa Programming Para sa Pagsulat ng Mga Smart Contract ng Ethereum

    Solidity & Ahas ay dalawang pangunahing wika para sa pagsulat ng Ethereum Smart Contracts.

    : Ito ay isang wika na may mataas na antas na nakatuon sa kontrata na may syntax na katulad sa JavaScript at idinisenyo ito upang ma-target ang Ethereum Virtual Machine (EVM).

    Ahas: Ang ahas ay isang mataas na antas na wika na idinisenyo para sa pagsusulat ng mga kontrata ng Ethereum. Ito ay halos kapareho sa Python, ngunit noong Setyembre 2017, ang Solidity ay ang ginustong wika ng pag-unlad para sa mga developer ng Ethereum.

    Bagaman ang Solidity ay kasalukuyang pinakapopular na wika para sa mga matalinong kontrata, mayroong ilang paparating na mga smart na wika ng kontrata na maaaring maging mahalaga sa hinaharap.

    Paparating na Mga Wika sa Programming

    1. Viper: Ang Viper ay mayroong isang mala-Python na pamamaraan ng indentation. Nakatuon ito sa seguridad at wika at pagiging simple ng tagatala.
    2. Lisk: Gumagamit si Lisk ng javascript bilang isang matalinong wika ng kontrata na ginagawang mas madali para sa isang developer na mag-code ng mga application.
    3. Chain: Nagbibigay ang Chain ng imprastrakturang blockchain na antas ng enterprise ng mga SDK sa mga tanyag na wika tulad ng Ruby, Java, at NodeJS.

    Ngayon, dahil ang Solidity ay pinaka-malawak na ginagamit na wika ng pagprograma para sa pagsulat ng Mga Smart Contract ng Ethereum, hayaan mo akong maglakad sa isang kontrata na nakasulat sa Solidity.

    Pag-transfer ng Ari-arian ng Smart Kontrata

    Problema: Sa kasalukuyan, ginagamit namin ang gitnang awtoridad upang ilipat ang pagmamay-ari ng pag-aari. Ginagawa nitong gumugugol ng oras at nakakaakit ng maraming labis na gastos din sa isang karagdagang pasanin ng pamamahala ng dokumento. Gayundin, dahil ang sistema ay sentralisado, palaging may posibilidad na mapanlinlang.

    Solusyon: Ang plano ay ang paggamit ng teknolohiya upang makita ang mga detalye ng mga transaksyon sa real estate sa lahat ng mga partido - bangko, broker, opisyal ng gobyerno, mamimili at nagbebenta

    O sige, hayaan mo akong magsulat ng isang Kontrata sa Smart para sa iyo:

    pragma solidity ^ 0.4.11 // Ginagawa namin ang case ng paggamit na ito para sa paggaya sa paglipat ng real estate sa real // // Paunang kahilingan sa kasong paggamit na ito ay: // Ang isang digital na pagkakakilanlan ay nasa lugar // Sumang-ayon ang Gobernador na ilagay ang mga tala ng lupa sa pampublikong blockchain // Ang bawat Development Authority (DA) ay nagiging may-ari ng defacto ng pag-aari na umiiral sa ilalim ng kanilang nasasakupan / lupon ng pambatasan // Kapag natugunan ang lahat ng mga kundisyon sa itaas, maaaring madaling i-attach ng DA (may-ari) ang kani-kanilang pag-aari sa kanilang may-ari pagkatapos ng masusing pag-verify. // magiging formulate namin ang pagpapaandar sa paligid ng itinakdang palagay na ito. // ipinapalagay namin na ang bawat DA ay dapat maglagay ng kanilang sariling matalinong kontrata ayon sa kanilang panuntunan at regulasyon. Ang buong matalinong kontrata na ito ay isinulat sa pamamagitan ng pagsasaalang-alang sa DA bilang may-ari, na maaaring magbigay ng ari-arian. // Ang isang gobyerno ay maaaring maging isang layer sa tuktok ng mga DA. at ang Gobyerno ay maaaring magpasya, kung aling DA (address) ang magiging may-ari ng alinmang pagkakamit. // Madali nating mapapalawak ito. Ngunit pagkatapos dumaan sa matalinong kontrata na ito, malalaman mo, kung paano gagana ang mga bagay. kontrata ang PropertyTransfer {address sa publiko na // // DA ang magiging may-ari, sisimulan namin ang halaga ng variable na ito sa pamamagitan ng address ng gumagamit na magpapakalat dito. hal. sabihin nating mismong DA. uint256 public totalNoOfProperty // kabuuang hindi ng mga pag-aari sa ilalim ng isang DA sa anumang punto ng oras. dapat silang dagdagan ayon sa bawat bahagi sa kanilang kani-kanilang may-ari pagkatapos ng pagpapatunay. // Sa ibaba ay ang tagabuo na ang code ay nagpapatakbo lamang kapag ang kontrata ay nilikha. function PropertyTransfer () {DA = msg.sender // setting ng may-ari ng kontrata bilang DA. } // modifier upang suriin ang tx ay nagmumula sa DA (may-ari) o hindi modifier onlyOwner () {nangangailangan (msg.sender == DA) _} // Ang istrakturang ito ay pinananatiling ganito para sa pag-iimbak ng mas maraming impormasyon kaysa sa lamang ang pangalan ng istraktura ng Pag-aari {pangalan ng string // pinapanatili ang mapa ng pag-aari laban sa bawat address. bibigyan namin ng pangalan ang bool ng pag-aari isSold // pinapanatili namin ang bilang din para sa bawat address} pagmamapa (address => pagmamapa (uint256 => Pag-aari) ang pangalan nito at ito ay bilang ng indibidwal. pagmamapa (address => uint256) indibidwal naCountOfPropertyPerOwner // kung gaano karaming mga pag-aari ang isang partikular na tao na nagtataglay ng kaganapan na PropertyAlloted (address indexed _verifiedOwner, uint256 indexed _totalNoOfPropertyCurrently, string _nameOfProperty, string _msg) event PropertyTransferred (address indexed _toom, string index _msg) // bibigyan kami nito ng eksaktong bilang ng pag-aari kung aling anumang pag-aari ng address sa anumang punto ng oras na pag-andar getPropertyCountOfAnyAddress (address _ownerAddress) pare-pareho ang pagbabalik (uint256) {uint count = 0 para sa (uint i = 0 i 

    Kaya, na-program mo na lang ang isang paraan upang ilipat ang pag-aari sa isang desentralisadong network. Gaano ba Galing yun !!

    Maaari mong makita na ang potensyal para sa [matalinong mga kontrata] na baguhin ang mga aspeto ng lipunan ay may makabuluhang lakas.

    Sa pamamagitan nito, natapos ko ito Matalinong Kontrata Blog. Inaasahan kong nasiyahan ka sa pagbabasa ng blog na ito at nalaman mong nagbibigay-kaalaman ito.

    May tanong ba sa amin? Mangyaring banggitin ito sa seksyon ng mga komento at babalikan ka namin sa earliest.

    Akof nais mong matutunan ang Mga Smart Contract, bumuo ng isang karera sa domain ng Blockchain at makakuha ng kadalubhasaan sa programa ng Ethereum, magpalista sa live-online dito, kasama yan ng 24 * 7 na suporta upang gabayan ka sa buong panahon ng iyong pag-aaral.