Ethereum Smart Contract - Hur genomför man ett Smart Contract?



I denna handledning för Ethereum Smart Contract lär du dig hur du skapar, distribuerar och utför ett smart kontrakt med Truffle och Ethereum Private Network.

Den främsta anledningen till att Blockchain Technology får sin plats bland de bästa teknologierna är på grund av dess decentraliserade natur. Även om det huvudsakliga syftet med Blockchain var att föra transaktionsregister utan en central myndighet, för att automatisera detta, Smarta kontrakt blev introducerad. Men vad efter ? I denna Ethereum Smart Contract-handledning kommer vi att se hur man använder Tryffel Ethereum och Ethereums privata nätverk för att utföra ett smart kontrakt.

Intresserad av Ethereum-utveckling? Kolla in det här Live .





Vi kommer att titta på följande ämnen i denna Ethereum Smart Contract-handledning:

  1. Användningsfall: Smarta avtal i försäkringsprocessen
  2. Fördelar med smarta kontrakt
  3. Installera förutsättningar
  4. Konfigurera Genesis Block
  5. Kör Ethereums privata nätverk
  6. Skapa Ethereum-konto
  7. Skapa Ethereum Smart Contract
  8. Utföra Ethereum Smart Contract

Användningsfall: Smarta avtal i försäkringsprocessen

'Ingen central myndighet' följer Blockchain och det är anledningen till att smarta kontrakt infördes. Men har du någonsin undrat hur kan ett smart kontrakt användas? Tja, i det här avsnittet av Ethereum Smart Contract kommer jag att förklara ett användningsfall av Smart Contract i försäkringsprocessen.



Låt oss överväga ett exempel på en flygförsening. Antag att du vill ta ett flyg från källa A till destination C men att du inte har en direktflygning. Så du bestämmer dig för att ta en anslutningsflyg (genom B). Nu kommer din rutt att vara från A till B och sedan från B till C, där B är den flygplats du ska ändra flygningen. Tyvärr har du inte mycket tidsavstånd mellan flygningarna från A till B och från B till C. Så om flygningen från A till B av någon chans är försenad kommer du att sakna flygningen från B till C. Du inser detta och bara för att rädda dig från stora förluster, tar du en flygförsening.

Flygförseningar - Edureka

Nu, om ditt flyg från A till B är försenat (vilket gör att du missar flyget från B till C) får du betalt försäkringsbeloppet. Det normala sättet detta fungerar på är att om ditt flyg är försenat kräver du försäkringen. Sedan kommer någon person där att verifiera och godkänna försäkringen och slutligen får du ditt försäkringsbelopp. Men det här är en ganska lång process.



Hur kan du använda smarta kontrakt för att förbättra försäkringsprocessen?

När det gäller finansiella transaktioner, och särskilt när du får pengar, 'ju snabbare, desto bättre', är det inte? Så, låt oss se hur smarta kontrakt kan fästa försäkringsprocessen. Smarta kontrakt är digitala kontrakt som automatiskt utförs när vissa villkor är uppfyllda. Ett smart avtal kan skrivas för att betala ut försäkringsbeloppet till personer som har valt flygförseningar om flygningen är försenad. Så när flygningen är försenad och denna försening registreras av systemet, betalas försäkringen omedelbart ut.

Hej! försäkringsbelopp som betalats på några sekunder. Så här gör enkla och snabba smarta kontrakt en process.

Fördelar med smarta kontrakt

Du har sett i exemplet ovan hur Smart Contract kan fästa finansiella processer. Förutom snabba transaktioner har Smart Contracts några fler fördelar. Här listar jag några andra fördelar med att använda ett smart kontrakt:

  • Automatisk: Alla steg i processen sker automatiskt med Smart Contracts
  • Inga mellanprodukter: När du använder Smart Contracts behöver du inte en mellanhand för att få jobbet gjort eftersom allt kommer att hanteras av Smart Contracts
  • Kostnadseffektiv: Användning av smarta kontrakt sparar pengar på transaktionsavgifter som tas ut av banker och serviceavgifter för mellanhänder (om sådana finns)

Nu, när vi vet hur smarta kontrakt kan användas för att göra världen till en snabbare plats, låt oss gå till den praktiska delen i denna Ethereum Smart Contract-handledning.

Installera förutsättningar

För den här Ethereum Smart Contract-handboken kommer vi att kräva fem viktiga applikationer:

  • NodeJS
  • NPM
  • Ethereum
  • Tryffel
  • Soliditetskompilator

Installerar NodeJS

NodeJS är ett JavaScript Framework som används för att bygga serverapplikationer. Eftersom vi använder ett privat nätverk kommer NodeJS att göra det enkelt att bygga nätverksapplikationen.

För att installera Nodejs, kör följande kommando i din terminal:

$ sudo apt-get install nodejs

Installera NPM

NPM står för Node Package Manager och används för att köra Nodejs-applikationer.

För att installera NPM, kör följande kommando i din terminal:

$ sudo apt-get install npm

Installera Ethereum

Ethereum är en öppen källkod och offentlig blockchain-baserad, distribuerad datorplattform för att bygga decentraliserade applikationer.

För att installera Ethereum, kör följande kommando i din terminal:

$ sudo apt-get install software-properties-common $ sudo add-apt-repository -y ppa: ethereum / ethereum $ sudo apt-get update $ sudo apt-get install ethereum

Installera tryffel

Truffle är en pipeline för utvecklingsmiljö, testramverk och tillgångar för Ethereum Blokchains.

För att installera Truffle, kör följande kommando i din terminal:

$ npm installera -g tryffel

Installera Solidity Compiler

Solidity är ett programmeringsspråk som används för att skriva smarta kontrakt. För att köra smarta kontrakt på vårt system måste vi installera Solidity Compiler.

För att installera Solidity Compiler, kör följande kommando i din terminal:

$ sudo npm installera -g solc

hur man konverterar en dubbel till en int

Konfigurera Genesis Block

Ett Genesis Block är startpunkten för en Blockchain och vi behöver en genfil för att starta Blockchain. I det här avsnittet av Ethereum Smart Contract skriver vi en Genesis-fil och konfigurerar den så att vi kan köra Smart Contracts.

Låt oss först skapa en ny katalog och sedan i den katalogen skapar vi Genesis-fil

$ mkdir ethereum-nätverk $ cd ethereum-nätverk $ nano genesis.json

Ange nu följande rader i genesis.json fil:

{'config': {'chainId': 2019, 'homesteadBlock': 0, 'eip155Block': 0, 'eip158Block': 0},'alloc': {}, 'problems': '200' 'gasLimit': '99999999999999'}

Spara detta och avsluta.

Kör Ethereums privata nätverk

I denna Etheruem Smart Contract-handledning kommer vi att distribuera ett Ethereum Smart Contract i ett privat nätverk. Så för att starta detta nätverk kommer vi att använda följande kommando:

$ geth --datadir ./dataDir init ./genesis.json

$ geth --port 4321 --networkid 1234 --datadir =. / dataDir --rpc --rpcport 8543 --rpcaddr 127.0.0.1 --rpcapi 'eth, net, web3, personal, miner'

Innan jag går vidare, låt mig förklara några viktiga flaggor som används i ovanstående kommando:

datadir: Katalogen där data relaterade till Blockchain lagras.

RPC: Aktiverar HTTP-RPC-server.

rpcport och rpcaddr används för att ställa in port respektive adress för nätverket.

rpcapi: Låter oss interagera med Ethereum-nätverket med olika API: er.

Ansluter Geth till Ethereum Private Blockchain

Geth-konsolen är konsolen varifrån vi kan interagera med Ethereum Private Blockchain. För att ansluta Geth till Ethereum Private Blockchain, öppna en ny terminal och kör kommandot nedan:

$ geth bifoga http://127.0.0.1:8543

Nu befinner vi oss i Geth-konsolen där vi kan köra kommandon för att interagera med Blockchain.

Skapa Ethereum-konto

För att göra en transaktion behöver vi ett konto. I detta avsnitt av Ethereum Smart Contract-handledning kommer vi att se hur du skapar ett nytt Ethereum-konto från Geth-konsolen.

Efter stegen hittills befinner vi oss redan i Geth-konsolen. För att skapa ett nytt konto, kör följande kommando i Geth-konsolen:

> personal.newAccount ('seedphrase')

Ersätt 'fröfras”Med lösenordet du vill ställa in för det här kontot.

Vi har skapat ett nytt konto, men det här kontot har inga etrar. Vi behöveretrar för att göra alla transaktioner och få etrartill vårt konto kommer vi att börja bryta etrar. För att börja bryta måste vi först låsa upp kontot. Låt oss låsa upp kontot och börja bryta.

> personal.unlockAccount (web3.eth.coinbase, 'seedphrase')> miner.start ()

Som gruvdrift fortsätter att hända, vissaetrarkommer att sättas in på detta konto.

Notera : Dessa etrar är det dummy etrar och har inget verkligt värde.

hur man gör ett paket i java

För att kontrollera saldotetrari kontot kör vi följande kommando:

> web3.fromWei (eth.getBalance (eth.coinbase), 'eter')

När du kör det här kommandot med jämna mellanrum ser du attetrarökar på grund av gruvdrift.

Fibonacci-serie c ++

För att stoppa gruvdrift, kör följande kommando:

> miner.stop ()

Skapa Ethereum Smart Contract

Skapa Truffle Project

Nu när vi har vår privata Blockchain klar, kommer vi att se hur man skapar ett Ethereum Smart Contract med Truffle. För denna handledning skapar vi ett enkelt “Hello World” Ethereum Smart Contract.

För att börja med detta, låt oss först skapa en ny katalog för att lagra Truffle-projektet. Och sedan i den katalogen skapar vi ett nytt Truffle-projekt. Öppna en ny terminal och kör kommandona nedan:

$ mkdir tryffel $ cd tryffel $ tryffel init

De tryffel init kommandot skapar alla nödvändiga filer som krävs för ett tryffelprojekt.

Nu när vi har allt för att distribuera ett Ethereum Smart Contract klart, låt oss skriva ett 'Hello World' Smart Contract.

Skriva ett “Hello World” Smart Contract

Alla kontrakt ska skrivas i katalogen 'kontrakt'. Vi byter till den här katalogen och skapar ett kontrakt med namnet “HelloWorld.sol” och lägger till följande rader i den här filen:

pragma soliditet ^ 0.4.15 kontrakt HelloWorld {string public message function Hello () public {message = 'Hello World!' }}

Detta är det! Men detta smarta kontrakt kan inte utföras av sig självt. Vi måste göra några konfigurationer för det.

Konfigurera tryffelmigrering

För att migrera vårt smarta kontrakt måste vi lägga till en fil i ”Migreringar” katalog i 'tryffel' katalog. I den här katalogen lägger vi till en fil med namnet “2_deploy_contracts.js” med följande innehåll:

var HelloWorld = artifacts.require ('./ HelloWorld.sol') module.exports = function (deployer) {deployer.deploy (HelloWorld)}

Spara och avsluta.

För att köra tryffel i vårt nätverk måste vi redigera ” truffle.js ”-Fil i 'tryffel' katalog . Öppna den här filen och gör följande:

module.exports = {rpc: {host: 'localhost', port: 8543}, nätverk: {development: {host: 'localhost', port: 8543, network_id: '*', from: '0xfa2361236b5ac8079cb6cf250e5284922ed9ba9a', gas: 20000000}}}

Notera: Ersätt 'från' adress med adressen till kontot du skapade i föregående steg.

Utföra Ethereum Smart Contract

I det sista avsnittet av Ethereum Smart Contract-handledning kommer vi att se hur vi distribuerar vårt 'Hello World' Smart Contract på vårt Ethereum Private Network.

Sammanställning och implementering av smart kontrakt

Innan vi kan utföra vårt smarta kontrakt måste vi först kompilera och distribuera det till vårt Ethereum Private Network. Vi kommer att göra detta med följande kommandon:

$ tryffel kompilera

Nu måste vi låsa upp vårt konto och börja bryta. Gå tillbaka till terminalen med Geth-konsolen och kör följande kommando:

> personal.unlockAccount (web3.eth.coinbase) > miner.start ()

och gå sedan tillbaka till terminalen som har 'tryffel' som nuvarande arbetskatalog ochspringaföljande kommando:

$ tryffel migrera

Vänta tills distributionen är klar.

Utför smart kontrakt på privat Ethereum Blockchain

För att genomföra det 'Hello World' Smart Contract måste vi gå in i tryffelkonsolen. Kör följande kommando för att göra detta:

$ tryffelkonsol

Du kommer nu att vara i tryffelkonsolen. För att utföra Smart Contract, kör följande kommando:

> var första_kontrakt> HelloWorld.deployed (). sedan (funktion (instans) {första_kontrakt = instans})> dApp.message.call ()

Grattis! Du har skapat ditt första Ethereum Smart Contract och kört det. Jag hoppas att denna Ethereum Smart Contract-handledning var informativ och hjälpte dig att förstå hur du utför ett Ethereum Smart Contract. Fortsätt nu och försök att skriva andra smarta kontrakt och genomföra det.

Har du en fråga till oss? Vänligen posta det på så återkommer vi till dig.

Om du vill lära dig Blockchain och bygga en karriär inom Blockchain Technologies, kolla in vår som kommer med instruktörsledad liveutbildning och verklig projektupplevelse. Denna utbildning hjälper dig att förstå vad som är Blockchain på ett uttömmande sätt och hjälper dig att uppnå behärskning över ämnet.