Kaj so pametne pogodbe? Priročnik za začetnike o pametnih pogodbah



Ta spletni dnevnik vam bo dal jasno sliko pametnih pogodb, različnih platform za pisanje pametnih pogodb in razpravljal tudi o praktični uporabi aplikacije Ethereum za pametne pogodbe.

Besedna zveza in koncept 'pametnih pogodb' bili predlagal Nick Szabo z vizijo razširiti funkcionalnost elektronskih transakcijskih metod, kot je POS (prodajno mesto), na digitalno področje. Pametne pogodbe vam pomagajo zamenjati lastnino, delnice ali kaj drugega vrednega na pregleden način, brez konfliktov, pri čemer se izognete storitvam posrednika.
Koda Ethereum-pametne pogodbe-edureka

Sledijo teme, ki jih bomo pokrivali v tem spletnem dnevniku o pametni pogodbi:





    1. Kaj so pametne pogodbe?
    2. Pametne pogodbe Nick Szabo
    3. Zakaj potrebujemo pametne pogodbe?
    4. Pametne pogodbe: zapletenost glede na primere uporabe
    5. Primer uporabe pametnih pogodb: zdravstvena industrija
    6. Prednosti pametnih pogodb
    7. Blockchain platforme za pisanje pametnih pogodb
    8. Orodja za pisanje in uvajanje pametnih pogodb
    9. Programski jeziki za pisanje Ethereuma
    10. Pametna pogodba o prenosu lastnine

    Kaj so pametne pogodbe?

    Pametne pogodbe so samostojni računalniški program, ki se samodejno izvrši, ko so izpolnjeni posebni pogoji.

    kako pretvoriti dvojnico v int v javi

    Pametne pogodbe = Zaupanja vredne pogodbe



    S pametnimi pogodbami lahko na nepristranski in nekonflikten način, med neznanci, delite kar koli dragocenega.

    Pametne pogodbe si lahko predstavljate tudi kot Blockchainprodajni avtomat. Tako kot so prodajni avtomati nastavljeni tako, da za doplačilo izberejo dolar, vam pametne pogodbe uporabljajo eter kot gorivo za izvajanje kode na podlagi vnaprej konfiguriranih pravil.

Kaj so pametne pogodbe | Uvedite svojo prvo pametno pogodbo Ethereum | Edureka

  1. Pametne pogodbe Nick Szabo

    V svojem prispevku je Szabo predlagal izvedbo pogodbe za sintetična sredstva, kot so izvedeni finančni instrumenti in obveznice. »Ti novi vrednostni papirji se oblikujejo z združevanjem vrednostnih papirjev (kot so obveznice) in izvedenih finančnih instrumentov (opcije in terminske pogodbe) na najrazličnejše načine. Zelo zapletene ročne strukture za plačila lahko zdaj zaradi računalništva vgradimo v standardizirane pogodbe in z njimi trgujemo z nizkimi transakcijskimi stroškianalizo teh kompleksnih izraznih struktur, «je zapisal.



  1. Zakaj potrebujemo pametne pogodbe?

    Številne rešitve lahko avtomatiziramo s pisanjem pogodbe o verigi blokov, da bodo stvari preproste in učinkovite. primerjajmo in ocenjujmo, kako pametne pogodbe so boljše od tradicionalnih pogodb.

    Pametne pogodbe: zapletenost glede na primere uporabe

    Zapletenost pogodb je odvisna od primerov uporabe, ki jih želite kodirati na verigi blokov. Spodnja slika vam bo dala boljšo jasnost glede zapletenosti pametnih pogodb.

    Z kontekstualiziranimi pametnimi pogodbami se ne bodo avtomatizirala samo podjetja, temveč se bo lahko oblikovala tudi decentralizirana avtonomna vlada.


    Razumejmo, kako pametne pogodbe delujejo s pomočjo primera uporabe.

    Primer uporabe pametnih pogodb: zdravstvena industrija

    Upravljanje podatkov o pacientih: Ko gre za upravljanje podatkov o pacientih, obstajajo dve glavni vprašanji v zdravstveni industriji:

    • Najprej , vsak bolnik je edinstven, zato je dostop do celotne zdravstvene kartoteke bistvenega pomena za prilagoditev zdravljenja in zagotavljanje osebne oskrbe
    • Drugič , izmenjava informacij med zdravniško skupnostjo je velik izziv

    Zdaj lahko zgoraj navedena vprašanja rešimo s pomočjo funkcionalnosti pametnih pogodb na verigah blokov.

    Prednosti pametne pogodbe

    Pametne pogodbe vam nudijo naslednje:

    Blockchain platforme za pisanje pametnih pogodb

    Medtem Ethereum je najbolj priljubljena platforma za pisanje pogodb in ni edina. Sledi nekaj drugih platform, ki se uporabljajo za pisanje pametnih pogodb:

    Bitcoin: Bitcoin pri obdelavi dokumentov uporablja skript, ki ima omejene zmožnosti. Skripti so posebej zasnovani za obdelavo Bitcoin transakcij.

    Tkanina Hyperledger : V Fabric je Chaincode programska koda, razporejena v omrežju, kjer jo med postopkom soglasja izvršijo in potrdijo verifikatorji verig.

    NXT: To je javna platforma blockchain, ki vsebuje omejen izbor predlog za pametne pogodbe. Morate uporabiti dano, ne morete napisati lastne kode.

    Stranske verige: Stranske verige izboljšujejo delovanje Blockchainov in zaščito zasebnosti. Dodajo tudi zmogljivostivšečpametne pogodbe, varni ročaji,in realni register nepremičnin.

    Orodja za pisanje in uvajanje pametnih pogodb

    1. Mist Browser - To je orodje za brskanje in uporabo dApps. To je ločen brskalnik, s katerim lahko brskate po aplikacijah dApps in komunicirate z njimi.
    2. Okvir za tartufe - Tartuf je priljubljen razvojni okvir za Ethereum. Vgrajeno ima pametno zbiranje pogodb, povezovanje, uvajanje in binarno upravljanje.
    3. Metamaska - MetaMask je most, ki omogoča danes obisk jutrišnjega distribuiranega spleta v svojem brskalniku. Uporabnikom omogoča, da Ethereum dApps zaženejo kar v svojem brskalniku, ne da bi zagnali celotno vozlišče Ethereum.
    4. Remix - Remix je IDE na osnovi spletnega brskalnika, ki uporabnikom omogoča pisanje pametnih pogodb Solidity, nato uvajanje in zagon pametne pogodbe.

    Programski jeziki za pisanje pametnih pogodb Ethereum

    Trdnost & Kača sta dva osnovna jezika za pisanje Ethereum Smart Contracts.

    : Je pogodbeno usmerjen jezik na visoki ravni s sintakso, podobno sintaksi JavaScript, in je zasnovan za ciljanje na navidezni stroj Ethereum (EVM).

    Kača: Serpent je jezik na visoki ravni, zasnovan za pisanje pogodb Ethereum. Je zelo podoben Pythonu, toda od septembra 2017 je Solidity najprimernejši jezik razvoja za razvijalce Ethereuma.

    Čeprav je Solidity trenutno najbolj priljubljen jezik pametnih pogodb, obstaja nekaj prihajajočih jezikov pametnih pogodb, ki bi lahko postali pomembni v prihodnosti.

    Prihajajoči programski jeziki

    1. Viper: Viper ima Python podobno shemo vdolbin. Osredotoča se na varnost in jezik ter preprostost prevajalnika.
    2. Tveganje: Lisk uporablja javascript kot pametni pogodbeni jezik, ki razvijalcu olajša kodiranje aplikacij.
    3. Veriga: Chain zagotavlja infrastrukturo blockchain za podjetja s SDK-ji v priljubljenih jezikih, kot so Ruby, Java in NodeJS.

    Ker je Solidity najpogosteje uporabljeni programski jezik za pisanje Ethereum Smart Contracts, vas bom vodil skozi pogodbo, napisano v Solidity.

    Pametna pogodba o prenosu lastnine

    Težava: Trenutno za prenos lastništva nepremičnine uporabljamo osrednji organ. Zaradi tega je zamudno in pritegne veliko dodatnih stroškov z dodatnim bremenom upravljanja dokumentov. Ker je sistem centraliziran, vedno obstaja možnost goljufije.

    Rešitev: V načrtu je uporaba tehnologije omogočila, da bodo podrobnosti transakcij z nepremičninami vidne vsem stranem - bankam, posrednikom, vladnim uradnikom, kupcem in prodajalcem.

    V redu, naj vam napišem pametno pogodbo:

    pragma solidity ^ 0.4.11 // Ta primer uporabljamo za posnemanje prenosa lastnine v resničnem svetu // Predpogoj tega primera je, da: // Digitalna identiteta je nameščena // Vlada se strinja, da bo zemljiške evidence na javni verigi blokov // Vsak razvojni organ (DA) postane dejanski lastnik nepremičnine, ki obstaja v njihovi volilni enoti / zakonodajnem organu // Ko so izpolnjeni vsi zgoraj navedeni pogoji, lahko DA (lastnik) zlahka priloži zadevno nepremičnino njihovemu zakonitemu lastniku po temeljitem preverjanju. // oblikovali bomo funkcijo okoli te predpostavke množice. // predvidevamo, da bo vsak DA razporedil svojo pametno pogodbo v skladu s svojimi pravili in predpisi. Celotna pametna pogodba je napisana tako, da je DA lastnik, ki lahko dodeli nepremičnino. // Govt lahko postane plast na vrhu teh DA. in vlada lahko odloči, kateri DA (naslov) postane lastnik katere države. // To lahko enostavno razširimo. Toda po tej pametni pogodbi boste lahko ugotovili, kako stvari lahko delujejo. pogodba PropertyTransfer {naslov javni DA // DA bo lastnik, vrednost te spremenljivke bomo inicializirali z naslovom uporabnika, ki jo bo namestil. npr. recimo DA sam. uint256 public totalNoOfProperty // skupno število lastnosti pod DA v katerem koli trenutku. po preverjanju se morajo povečati glede na dodelitev njihovemu lastniku. // Spodaj je konstruktor, katerega koda se zažene šele, ko je ustvarjena pogodba. function PropertyTransfer () {DA = msg.sender // nastavitev lastnika pogodbe kot DA. } // modifikator za preverjanje, ali tx prihaja iz DA (lastnik) ali ne samo modifikatorOwner () {require (msg.sender == DA) _} // Ta struktura se hrani tako za shranjevanje veliko več informacij kot samo ime struct Lastnost {ime niza // vodenje zemljevida lastnosti glede na vsak naslov. lastnosti bool bomo dali ime isSold // štejemo tudi za vsak naslov} preslikava (naslov => preslikava (uint256 => Lastnost)) public propertiesOwner // lastnosti bomo preslikali proti vsakemu naslovu po njegovo ime in število posameznikov. preslikava (naslov => uint256) individualCountOfPropertyPerOwner // koliko lastnosti ima določena oseba dogodek PropertyAlloted (naslov indeksira _verifiedOwner, uint256 indeksira _totalNoOfPropertyCurrently, string _nameOfProperty, string _msg) dogodek PropertyTransferrom, naslov indeksira _, indeksiran _ naslovov indeksira _ _ _msg) // to nam bo dalo natančno število lastnosti, ki ga ima kateri koli naslov v katerem koli trenutku funkcije getPropertyCountOfAnyAddress (naslov _ownerAddress) konstanta vrne (uint256) {uint count = 0 for (uint i = 0 i 

    Torej, pravkar ste programirali način prenosa lastnine v decentraliziranem omrežju. Kako kul je to !!

    Vidite lahko, da je možnost [pametnih pogodb], da spremenijo vidike družbe, zelo velika.

    S tem to zaključujem Pametna pogodba blog. Upam, da ste uživali v branju tega spletnega dnevnika in se vam je zdel informativen.

    Imate vprašanje za nas? Prosimo, omenite to v oddelku za komentarje in takoj se vam bomo oglasilist.

    jazče se želite naučiti pametnih pogodb, si ustvariti kariero na področju Blockchain in pridobiti strokovno znanje v programiranju Ethereum, se včlaniti v živo v spletu Tukaj je na voljo podpora 24 * 7, ki vas vodi skozi celotno obdobje učenja.