Hvad er smarte kontrakter? En begyndervejledning til smarte kontrakter



Denne blog vil give dig et klart billede af smarte kontrakter, forskellige platforme til at skrive smarte kontrakter og vil også diskutere en praktisk brugssag til en Ethereum smart kontraktansøgning.

Udtrykket og begrebet 'Smart Contracts' var foreslået af Nick Szabo med visionen om at udvide funktionaliteten i elektroniske transaktionsmetoder, såsom POS (salgssted), til den digitale verden. Smarte kontrakter hjælper dig med at udveksle ejendom, aktier eller noget andet af værdi på en gennemsigtig, konfliktfri måde, mens du undgår en mellemmands tjenester.
Ethereum-kode-Smart kontrakter-edureka

Følgende er de emner, som vi skal dække i denne Smart Contract-blog:





    1. Hvad er smarte kontrakter?
    2. Smarte kontrakter af Nick Szabo
    3. Hvorfor har vi brug for smarte kontrakter?
    4. Smarte kontrakter: Kompleksitet pr. Brugstilfælde
    5. Brug af sager om smarte kontrakter: Sundhedsindustrien
    6. Fordele ved smarte kontrakter
    7. Blockchain-platforme til skrivning af smarte kontrakter
    8. Værktøjer til skrivning og implementering af smarte kontrakter
    9. Programmeringssprog til skrivning af Ethereum
    10. Ejendomsoverførsel Smart kontrakt

    Hvad er smarte kontrakter?

    Smarte kontrakter er et selvstyrende computerprogram, der automatisk udføres, når specifikke betingelser er opfyldt.

    java hvordan man afslutter et program

    Smart Contracts = Trustless Contracts



    Med smarte kontrakter kan du dele noget af værdi blandt fremmede på en konfliktfri gennemsigtig måde.

    Du kan også tænke på smarte kontrakter som en Blockchainbaseret salgsautomat. Ligesom salgsautomater er konfigureret til at modtage dollars for at dispensere dit valg af vare, bruger smarte kontrakter æter som et brændstof til at udføre kode baseret på forudkonfigurerede regler.

Hvad er smarte kontrakter | Implementere din første Ethereum Smart-kontrakt | Edureka

  1. Smarte kontrakter af Nick Szabo

    I sit papir foreslog Szabo at udføre en kontrakt for syntetiske aktiver som derivater og obligationer. ”Disse nye værdipapirer dannes ved at kombinere værdipapirer (såsom obligationer) og derivater (optioner og futures) på en lang række måder. Meget komplekse betalingsstrukturer kan nu indbygges i standardiserede kontrakter og handles med lave transaktionsomkostninger på grund af edbanalyse af disse komplekse termstrukturer, ”skrev han.



  1. Hvorfor har vi brug for smarte kontrakter?

    Vi kan automatisere mange løsninger ved at skrive en kontrakt på en Blockchain for at gøre tingene enkle og effektive. lad os sammenligne og evaluere, hvordan smarte kontrakter er bedre end traditionelle kontrakter.

    Smarte kontrakter: Kompleksitet pr. Brugstilfælde

    Kompleksiteten af ​​kontrakter afhænger af de brugssager, du drømmer om at kode på blockchain. Billedet nedenfor giver dig en bedre klarhed om kompleksiteten i smarte kontrakter.

    Med kontekstualiserede smarte kontrakter bliver ikke kun virksomhederne automatiseret, men der kan også dannes en decentral autonom regering.


    Lad os forstå, hvordan smarte kontrakter fungerer ved hjælp af use case.

    Brug af sager om smarte kontrakter: Sundhedsindustrien

    Patientdatahåndtering: Når det kommer til patientadministration, er der to hovedspørgsmål i sundhedsindustrien:

    • Først , hver patient er unik, og derfor er adgang til komplette medicinske optegnelser afgørende for at tilpasse behandlingen og yde personlig pleje
    • Anden , at dele information mellem det medicinske samfund er en stor udfordring

    Nu kan de ovennævnte problemer løses ved hjælp af smart kontrakter funktionalitet på blockchains.

    Smarte kontraktfordele

    Her er hvad smarte kontrakter giver dig:

    Blockchain-platforme til skrivning af smarte kontrakter

    Mens Ethereum er den mest populære platform til at skrive kontrakter, det er ikke den eneste. Følgende er nogle af de andre platforme, der bruges til at skrive smarte kontrakter:

    Bitcoins: Bitcoin bruger Script, der har begrænsede muligheder, når man behandler dokumenter. Scripts er specielt designet til at behandle Bitcoin-transaktioner.

    Hyperledger stof : I Fabric er Chaincode programmatisk kode, der implementeres på netværket, hvor den udføres og valideres af kædevalidatorer sammen under konsensusprocessen.

    NXT: Det er en offentlig blockchain-platform, der indeholder et begrænset udvalg af skabeloner til smarte kontrakter. Du skal bruge det, der er givet, du kan ikke skrive din egen kode.

    Sidekæder: Sidekæder forbedrer Blockchains ydeevne og beskyttelse af personlige oplysninger. De tilføjer også mulighedersynes godt omsmarte kontrakter, sikre håndtag,og realistiske ejendomsregister.

    Værktøjer til skrivning og implementering af smarte kontrakter

    1. Mist Browser - Det er et værktøj til at gennemse og bruge dApps. Det er en separat browser, der kan bruges til at gennemse dApps og interagere med dem.
    2. Truffle Framework - Truffle er en populær udviklingsramme for Ethereum. Den har indbygget kompilering af intelligente kontrakter, sammenkædning, implementering og binær styring.
    3. Metamask - MetaMask er en bro, der giver en mulighed for at besøge morgendagens distribuerede web i deres browser i dag. Det giver brugerne mulighed for at køre Ethereum dApps lige i deres browser uden at køre en fuld Ethereum-node.
    4. Remix - Remix er en webbrowser-baseret IDE, der giver brugerne mulighed for at skrive Smart Soliditet-kontrakter, derefter implementere og køre den smarte kontrakt.

    Programmeringssprog til skrivning af smarte kontrakter for Ethereum

    Tørhed & Slange er to primære sprog til skrivning af Ethereum Smart Contracts.

    : Det er et kontraktorienteret sprog på højt niveau med syntaks svarende til JavaScript, og det er designet til at målrette mod Ethereum Virtual Machine (EVM).

    Slange: Slange er et sprog på højt niveau designet til at skrive Ethereum-kontrakter. Det ligner meget på Python, men fra september 2017 er Soliditet det foretrukne udviklingssprog for Ethereum-udviklere.

    Selvom Soliditet i øjeblikket er det mest populære sprog for smarte kontrakter, er der et par kommende smarte kontrakt sprog, som kan blive vigtige i fremtiden.

    Kommende programmeringssprog

    1. Hugorm: Viper har et Python-lignende indrykningsskema. Det fokuserer på sikkerhed og sprog og kompilatoren enkelhed.
    2. Lisk: Lisk bruger javascript som et smart kontraktsprog, der gør det lettere for en udvikler at kode applikationer.
    3. Kæde: Chain leverer blockchain-infrastruktur af virksomhedsklasse med SDK'er på populære sprog som Ruby, Java og NodeJS.

    Nu, da Solidity er det mest anvendte programmeringssprog til at skrive Ethereum Smart Contracts, lad mig lede dig gennem en kontrakt skrevet i Solidity.

    Ejendomsoverførsel Smart kontrakt

    Problem: I øjeblikket bruger vi den centrale myndighed til at overføre ejendomsejerskabet. Dette gør det tidskrævende og tiltrækker også mange ekstra udgifter med en ekstra byrde for dokumenthåndtering. Da systemet er centraliseret, er der også altid en mulighed for svigagtig.

    Løsning: Planen er at bruge teknologien til at gøre detaljerne i ejendomstransaktioner synlige for alle parter - banker, mæglere, embedsmænd, købere og sælger

    Okay, lad mig skrive en smart kontrakt til dig:

    pragma soliditet ^ 0.4.11 // Vi laver denne brugssag til at efterligne den virkelige verdens overførsel af ejendom // Forudsætningen for denne brugssag er, at: // En digital identitet er på plads // Regeringen accepterer at sætte jordregistreringer på den offentlige blockchain // Hver udviklingsmyndighed (DA) bliver defacto-ejeren af ​​ejendommen, der findes under deres valgkreds / lovgivende organ // Når alle ovenstående betingelser er opfyldt, kan DA (ejer) let vedhæfte den respektive ejendom til deres retmæssige ejer efter grundig verifikation. // vi skal formulere funktionen omkring denne sæt antagelse. // vi antager, at hver DA implementerer deres egen smarte kontrakt i henhold til deres regel og regulering. Hele denne smarte kontrakt er skrevet ved at betragte DA som ejeren, der kan tildele ejendom. // En regering kan blive et lag oven på disse DA. og regeringen kan beslutte, hvilken DA (adresse) der bliver ejer af hvilken kontituence. // Vi kan udvide dette let. Men efter at have gennemgået denne smarte kontrakt, skal du være i stand til at finde ud af, hvordan tingene kan fungere. kontrakt PropertyTransfer {adresse offentlig DA // DA skal være ejer, vi initialiserer denne variabels værdi efter adressen på den bruger, der skal implementere den. for eksempel. lad os sige DA selv. uint256 public totalNoOfProperty // total antal ejendomme under en DA på ethvert tidspunkt. de skal øges pr. tildeling til deres respektive ejer efter verifikation. // Nedenfor er konstruktøren, hvis kode kun køres, når kontrakten oprettes. funktion PropertyTransfer () {DA = msg.sender // indstiller ejeren af ​​kontrakten som DA. } // modifikator for at kontrollere, at tx kommer fra DA (ejer) eller ikke kun modifikator Ejer () {kræve (msg.sender == DA) _} // Denne struktur holdes sådan til lagring af meget mere information end bare navnet struct Ejendom {streng navn // holder kortet over ejendommen mod hver adresse. vi skal angive navn til egenskaben bool isSold // vi holder også antallet for hver adresse} kortlægning (adresse => kortlægning (uint256 => Ejendom)) offentlige ejendomme Ejer // vi får egenskaberne kortlagt mod hver adresse af dens navn og det individuelle antal. kortlægning (adresse => uint256) individualCountOfPropertyPerOwner // hvor mange ejendomme holder en bestemt person begivenhed PropertyAlloted (adresseindekseret _verifiedOwner, uint256 indekseret _totalNoOfPropertyCurrently, streng _nameOfProperty, streng _msg) begivenhed PropertyTransferom (adresseindekseret, adresseindekseret, adresseindekseret _ adresseindekseret, adresseindekseret, adresseindekseret _msg) // dette giver os det nøjagtige antal ejendomme, som enhver adresse ejer til enhver tid af funktionen getPropertyCountOfAnyAddress (adresse _ownerAddress) konstant returnerer (uint256) {uint count = 0 for (uint i = 0 i 

    Så du har lige programmeret en måde at overføre ejendom til et decentraliseret netværk. Hvor sejt er det !!

    Du kan se, at potentialet for [smarte kontrakter] til at ændre samfundets aspekter er af betydelig størrelse.

    Med det konkluderer jeg dette Smart kontrakt blog. Jeg håber, du nød at læse denne blog og fandt den informativ.

    Har du et spørgsmål til os? Nævn det i kommentarfeltet, og vi vender tilbage til dig på earlieSt.

    jegf du ønsker at lære smarte kontrakter, opbygge en karriere inden for Blockchain-domænet og få ekspertise inden for Ethereum-programmering, tilmeld dig live-online her kommer der 24 * 7 support til at guide dig gennem din læringsperiode.