Vad är smarta kontrakt? En nybörjarguide för smarta kontrakt



Den här bloggen ger dig en tydlig bild av smarta kontrakt, olika plattformar för att skriva smarta kontrakt och kommer också att diskutera ett praktiskt användningsfall av en Ethereum smart contract-applikation.

Uttrycket och konceptet 'Smart Contracts' var föreslagen av Nick Szabo med visionen att utöka funktionaliteten hos elektroniska transaktionsmetoder, såsom POS (försäljningsställe), till det digitala området. Smarta kontrakt hjälper dig att utbyta fastigheter, aktier eller något av värde på ett transparent, konfliktfritt sätt och samtidigt undvika tjänster från en mellanhand.
Ethereum-kod-Smarta kontrakt-edureka

Följande är de ämnen som vi ska täcka i denna Smart Contract-blogg:





    1. Vad är smarta kontrakt?
    2. Smarta kontrakt av Nick Szabo
    3. Varför behöver vi smarta kontrakt?
    4. Smarta kontrakt: komplexitet enligt användningsfall
    5. Användningsfall för smarta kontrakt: vårdindustrin
    6. Fördelar med smarta kontrakt
    7. Blockchain-plattformar för att skriva smarta kontrakt
    8. Verktyg för att skriva och distribuera smarta kontrakt
    9. Programmeringsspråk för att skriva Ethereum
    10. Fastighetsöverförings smart kontrakt

    Vad är smarta kontrakt?

    Smarta kontrakt är ett självstyrande datorprogram som automatiskt körs när specifika villkor är uppfyllda.

    Smarta kontrakt = pålitliga kontrakt



    Med smarta kontrakt kan du dela allt av värde, bland främlingar på ett konfliktfritt transparent sätt.

    Du kan också tänka på smarta kontrakt som en Blockchainbaserad varuautomat. Precis som varuautomater är konfigurerade för att ta in dollar för att dispensera ditt val av objekt, använder smarta kontrakt eter som ett bränsle för att köra kod baserat på förkonfigurerade regler.

Vad är smarta kontrakt | Distribuera ditt första smarta Ethereum-kontrakt | Edureka

  1. Smarta kontrakt av Nick Szabo

    I sin tidning föreslog Szabo att ett kontrakt skulle genomföras för syntetiska tillgångar, som derivat och obligationer. ”Dessa nya värdepapper bildas genom att kombinera värdepapper (som obligationer) och derivat (optioner och terminer) på en mängd olika sätt. Mycket komplexa betalningsstrukturer kan nu byggas in i standardiserade kontrakt och handlas med låga transaktionskostnader på grund av datoriseradeanalys av dessa komplexa termstrukturer, ”skrev han.



  1. Varför behöver vi smarta kontrakt?

    Vi kan automatisera många lösningar genom att skriva ett kontrakt på en Blockchain för att göra saker enkla och effektiva. låt oss jämföra och utvärdera hur smarta kontrakt är bättre än traditionella kontrakt.

    Smarta kontrakt: komplexitet enligt användningsfall

    Komplexiteten i kontrakt beror på de användningsfall du drömmer om att koda på blockchain. Bilden nedan ger dig en bättre klarhet över komplexiteten i smarta kontrakt.

    Med kontextualiserade smarta kontrakt kommer inte bara företagen att bli automatiserade, utan också en decentraliserad autonom regering kan bildas.


    Låt oss förstå hur smarta kontrakt fungerar med hjälp av användningsfall.

    Användningsfall för smarta kontrakt: vårdindustrin

    Patienthantering: När det gäller hantering av patientdata finns det två huvudfrågor inom vården:

    • Först , är varje patient unik, därför är tillgång till fullständiga medicinska journaler nödvändiga för att anpassa behandlingen och tillhandahålla personlig vård
    • Andra att dela information mellan det medicinska samfundet är en stor utmaning

    Nu kan ovannämnda problem lösas med hjälp av smarta kontraktfunktioner på blockkedjor.

    Smarta kontraktfördelar

    Här är vad smarta kontrakt ger dig:

    vad är en blockchain-utvecklare?

    Blockchain-plattformar för att skriva smarta kontrakt

    Medan Ethereum är den mest populära plattformen för att skriva kontrakt, det är inte den enda. Följande är några av de andra plattformarna som används för att skriva smarta kontrakt:

    Bitcoins: Bitcoin använder skript som har begränsad kapacitet vid bearbetning av dokument. Skripten är särskilt utformade för att behandla Bitcoin-transaktioner.

    Hyperledger tyg : I Fabric är Chaincode programmatisk kod som distribueras i nätverket, där den körs och valideras av kedjevalidatorer tillsammans under konsensusprocessen.

    NXT: Det är en offentlig blockchain-plattform som innehåller ett begränsat urval av mallar för smarta kontrakt. Du måste använda det som ges, du kan inte skriva din egen kod.

    Sidokedjor: Sidokedjor förbättrar Blockchains prestanda och integritetsskydd. De lägger också till funktionertycka omsmarta kontrakt, säkra handtag,och fastighetsregistret.

    php mysql_fetch_

    Verktyg för att skriva och distribuera smarta kontrakt

    1. Mist Browser - Det är ett verktyg för att bläddra och använda dApps. Det är en separat webbläsare som kan användas för att bläddra bland dApps och interagera med dem.
    2. Tryffelramverk - Truffle är ett populärt utvecklingsramverk för Ethereum. Den har inbyggd kompilering av smarta kontrakt, länkning, distribution och binär hantering.
    3. Metamask - MetaMask är en bro som gör att man kan besöka morgondagens distribuerade webb i sin webbläsare idag. Det tillåter användare att köra Ethereum dApps direkt i sin webbläsare utan att köra en fullständig Ethereum-nod.
    4. Remix - Remix är en webbläsarbaserad IDE som gör det möjligt för användare att skriva soliditetskontrakt, sedan distribuera och köra smartkontraktet.

    Programmeringsspråk för att skriva Ethereum Smart Contracts

    Hållfasthet & Orm är två primära språk för att skriva Ethereum Smart Contracts.

    : Det är ett kontraktsorienterat högnivåspråk med syntax som liknar JavaScript och det är utformat för att rikta sig mot Ethereum Virtual Machine (EVM).

    Orm: Ormen är ett språk på hög nivå som är utformat för att skriva Ethereum-kontrakt. Det liknar mycket Python, men från och med september 2017 är Soliditet det föredragna utvecklingsspråket för Ethereum-utvecklare.

    Även om soliditet för närvarande är det mest populära språket för smarta kontrakt, finns det några kommande smarta kontraktsspråk som kan bli viktiga i framtiden.

    Kommande programmeringsspråk

    1. Huggorm: Viper har ett Python-liknande indragsschema. Det fokuserar på säkerhet och språk och kompilatorns enkelhet.
    2. Lisk: Lisk använder javascript som ett smart kontraktspråk vilket gör det lättare för en utvecklare att koda applikationer.
    3. Kedja: Chain tillhandahåller blockchain-infrastruktur av företagsklass med SDK på populära språk som Ruby, Java och NodeJS.

    Nu, eftersom Solidity är det mest använda programmeringsspråket för att skriva Ethereum Smart Contracts, låt mig gå igenom ett kontrakt skrivet i Solidity.

    Fastighetsöverförings smart kontrakt

    Problem: För närvarande använder vi den centrala myndigheten för att överföra fastighetsägarna. Detta gör det tidskrävande och lockar många extra kostnader också med en extra börda för dokumenthantering. Eftersom systemet är centraliserat finns det alltid en möjlighet till bedräglig.

    Lösning: Planen är att använda tekniken för att göra detaljerna i fastighetstransaktioner synliga för alla parter - banker, mäklare, myndigheter, köpare och säljare

    Okej, låt mig skriva ett smart kontrakt åt dig:

    pragma soliditet ^ 0.4.11 // Vi gör detta användningsfall för att efterlikna den verkliga världsöverföringen // Förutsättningen för detta användningsfall är att: // En digital identitet finns på plats // Regeringen går med på att sätta markposter i det offentliga blockkedjan // Varje utvecklingsmyndighet (DA) blir defacto ägare av fastigheten som finns under deras valkrets / lagstiftande organ // När alla ovanstående villkor är uppfyllda kan DA (ägare) enkelt bifoga respektive fastighet till sin rättmätiga ägare efter noggrann verifiering. // vi ska formulera funktionen runt detta uppsatta antagande. // vi antar att varje DA ska distribuera sitt eget smarta kontrakt enligt deras regel och reglering. Hela detta smarta kontrakt skrivs genom att betrakta DA som ägare, som kan tilldela egendom. // En regering kan bli ett lager ovanpå dessa DA. och regeringen kan bestämma vilken DA (adress) som blir ägare till vilken kontituens. // Vi kan enkelt utvidga detta. Men efter att du har gått igenom det här smarta kontraktet ska du kunna ta reda på hur sakerna kan fungera. kontrakt PropertyTransfer {adress offentlig DA // DA ska vara ägare, vi initialiserar denna variabel med hjälp av adressen till användaren som ska distribuera den. t.ex. låt oss säga DA själv. uint256 public totalNoOfProperty // totalt antal fastigheter under en DA vid någon tidpunkt. de bör öka enligt tilldelningen till respektive ägare efter verifiering. // Nedan är konstruktören vars kod bara körs när kontraktet skapas. funktion PropertyTransfer () {DA = msg.sender // ställer in kontraktets ägare som DA. } // modifierare för att kontrollera att tx kommer från DA (ägare) eller inte bara modifierareOwner () {kräver (msg.sender == DA) _} // Denna struktur hålls så här för att lagra mycket mer information än bara namnstrukturen Egenskap {strängnamn // håller fastighetskartan mot varje adress. vi ska ange namnet på egenskapen bool isSold // vi håller också räkningen för varje adress} mappning (adress => mapping (uint256 => Property)) offentliga fastigheter Ägare // vi ska få egenskaperna mappade mot varje adress av dess namn och det individuella antalet. mapping (address => uint256) individualCountOfPropertyPerOwner // hur många fastigheter har en viss person händelse PropertyAlloted (adressindexerad _verifiedOwner, uint256 indexerad _totalNoOfPropertyCurrently, sträng _nameOfProperty, sträng _msg) händelse PropertyTransferom, strängindex, adress indexerad, adress indexerad, adress indexerad, adress indexerad, adress indexerad, adress indexerad, adress indexerad _msg) // detta ger oss det exakta egenskapstalet som varje adress äger vid vilken tidpunkt som helst funktion getPropertyCountOfAnyAddress (adress _ownerAddress) konstant returnerar (uint256) {uint count = 0 för (uint i = 0 i 

    Så du har just programmerat ett sätt att överföra fastigheter till ett decentraliserat nätverk. Hur coolt är inte det!!

    Du kan se att potentialen för [smarta kontrakt] att förändra aspekter av samhället är av betydande storlek.

    Med det avslutar jag detta Smart kontrakt blogg. Jag hoppas att du gillade att läsa den här bloggen och tyckte att den var informativ.

    Har du en fråga till oss? Vänligen nämna det i kommentarfältet så återkommer vi till dig på earliest.

    Jagom du vill lära dig smarta kontrakt, bygga en karriär inom Blockchain-området och få expertis inom Ethereum-programmering, bli registrerad i live-online här kommer det med 24 * 7 support för att vägleda dig under hela din inlärningsperiod.