Ethereum Smart Contract - Hoe voer je een Smart Contract uit?



In deze Ethereum Smart Contract-zelfstudie leert u hoe u een Smart Contract maakt, implementeert en uitvoert met Truffle en Ethereum Private Network.

De belangrijkste reden voor Blockchain-technologie om zijn plaats tussen de Toptechnologieën te krijgen, is vanwege het gedecentraliseerde karakter ervan. Hoewel het belangrijkste doel van Blockchain was om transactiegegevens bij te houden zonder een centrale autoriteit, om dit te automatiseren, Slimme contracten waren geïntroduceerd. Maar wat daarna ? In deze Ethereum Smart Contract-zelfstudie zullen we zien hoe u dit kunt gebruiken Truffel Ethereum en Ethereum privénetwerk om een ​​slim contract uit te voeren.

Geïnteresseerd in Ethereum Development? Bekijk deze Live .





We zullen de volgende onderwerpen bekijken in deze Ethereum Smart Contract-zelfstudie:

  1. Use Case: Smart Contracts in Insurance Process
  2. Voordelen van slimme contracten
  3. Vereisten installeren
  4. Genesis Block configureren
  5. Het Ethereum Private Network uitvoeren
  6. Ethereum-account aanmaken
  7. Ethereum Smart Contract creëren
  8. Ethereum Smart Contract uitvoeren

Use Case: Smart Contracts in Insurance Process

'Geen centrale autoriteit' is wat Blockchain volgt en dat is de reden waarom Smart Contracts werden geïntroduceerd. Maar heb je je ooit afgevraagd hoe een slim contract kan worden gebruikt? Welnu, in dit gedeelte van Ethereum Smart Contract zal ik een use-case van Smart Contract in Insurance-proces uitleggen.



Laten we eens kijken naar een voorbeeld van een vluchtvertragingsverzekering. Stel dat u een vlucht wilt nemen van bron A naar bestemming C, maar u heeft geen directe vlucht. U besluit dus een aansluitende vlucht te nemen (via B). Nu gaat uw route van A naar B en vervolgens van B naar C, waarbij B de luchthaven is waar u de vluchten gaat wijzigen. Helaas heb je niet veel tijdsverschil tussen de vluchten van A naar B en van B naar C. Dus mocht de vlucht van A naar B vertraagd zijn, dan mis je de vlucht van B naar C. besef dit en om uzelf te behoeden voor zware verliezen, sluit u een vluchtvertragingsverzekering af.

Vluchtvertragingsverzekering - Edureka

Als uw vlucht van A naar B is vertraagd (waardoor u de vlucht van B naar C mist), krijgt u het verzekeringsbedrag betaald. De normale manier waarop dit werkt, is dat u de verzekering claimt als uw vlucht vertraging heeft. Dan zal iemand daar de verzekering verifiëren en goedkeuren en tot slot krijgt u uw verzekeringsbedrag. Maar dit is een behoorlijk langdurig proces.



Hoe kunt u slimme contracten gebruiken om het verzekeringsproces te verbeteren?

Als het gaat om financiële transacties, en vooral als u geld krijgt, 'hoe sneller, hoe beter', nietwaar? Laten we dus eens kijken hoe Smart Contracts het verzekeringsproces kan versnellen. Smart Contracts zijn digitale contracten die automatisch worden uitgevoerd wanneer aan bepaalde voorwaarden is voldaan. Er kan een slim contract worden geschreven om het verzekeringsbedrag uit te betalen aan mensen die hebben gekozen voor een vluchtvertragingsverzekering als de vlucht vertraagd is. Dus wanneer de vlucht vertraging heeft en deze vertraging wordt geregistreerd door het systeem, wordt de verzekering onmiddellijk uitbetaald.

Hallo! verzekeringsbedrag binnen enkele seconden betaald. Dit is hoe eenvoudig en snel Smart Contracts een proces mogelijk maken.

Voordelen van slimme contracten

U heeft in het bovenstaande voorbeeld gezien hoe Smart Contract financiële processen kan versnellen. Naast snelle transacties hebben slimme contracten nog meer voordelen. Hier noem ik enkele andere voordelen van het gebruik van een slim contract:

  • Automaat: Alle stappen in het proces gebeuren automatisch met Smart Contracts
  • Geen tussenproducten: Wanneer u slimme contracten gebruikt, heeft u geen tussenpersoon nodig om de klus te klaren, aangezien alles wordt afgehandeld door slimme contracten
  • Kostenefficiënt: Als u slimme contracten gebruikt, bespaart u geld op transactiekosten die door banken in rekening worden gebracht en de servicekosten die door tussenpersonen in rekening worden gebracht (indien van toepassing)

Nu we weten hoe Smart Contracts kunnen worden gebruikt om de wereld een snellere plek te maken, gaan we naar het praktische gedeelte van deze Ethereum Smart Contract-zelfstudie gaan.

Vereisten installeren

Voor deze Ethereum Smart Contract-zelfstudie hebben we 5 belangrijke applicaties nodig:

  • NodeJS
  • NPM
  • Ethereum
  • Truffel
  • Solidity Compiler

NodeJS installeren

NodeJS is een JavaScript Framework dat wordt gebruikt om servertoepassingen te bouwen. Omdat we een particulier netwerk gebruiken, maakt NodeJS het gemakkelijk om de netwerktoepassing te bouwen.

Om Nodejs te installeren, voert u de volgende opdracht uit in uw terminal:

$ sudo apt-get install nodejs

NPM installeren

NPM staat voor Node Package Manager en wordt gebruikt om Nodejs-applicaties uit te voeren.

Om NPM te installeren, voert u de volgende opdracht uit in uw terminal:

$ sudo apt-get install npm

Ethereum installeren

Ethereum is een open-source en openbaar blockchain-gebaseerd, gedistribueerd computerplatform voor het bouwen van gedecentraliseerde applicaties.

Om Ethereum te installeren, voert u de volgende opdracht uit in uw 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

Truffel installeren

Truffle is een ontwikkelomgeving, testraamwerk en activapijplijn voor Ethereum Blokchains.

Om Truffle te installeren, voert u de volgende opdracht uit in uw terminal:

$ npm install -g truffel

Solidity Compiler installeren

Solidity is een programmeertaal die wordt gebruikt om slimme contracten te schrijven. Om slimme contracten op ons systeem uit te voeren, moeten we Solidity Compiler installeren.

Om Solidity Compiler te installeren, voert u de volgende opdracht uit in uw terminal:

$ sudo npm install -g solc

Genesis Block configureren

Een Genesis Block is het startpunt van een Blockchain en we hebben een Genesis-bestand nodig om de Blockchain te starten. In dit gedeelte van Ethereum Smart Contract zullen we een Genesis-bestand schrijven en dit configureren zodat we Smart Contracts kunnen uitvoeren.

Laten we eerst een nieuwe directory maken en vervolgens in die directory de genesis-bestand

$ mkdir ethereum-netwerk $ cd ethereum-netwerk $ nano genesis.json

Voer nu de volgende regels in het genesis.json het dossier:

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

Bewaar dit en sluit af.

Het Ethereum Private Network uitvoeren

In deze Etheruem Smart Contract-zelfstudie zullen we een Ethereum Smart Contract op een particulier netwerk implementeren. Dus om dit netwerk te starten, gebruiken we het volgende commando:

$ 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, persoonlijk, mijnwerker'

Voordat ik verder ga, wil ik enkele belangrijke vlaggen uitleggen die in het bovenstaande commando worden gebruikt:

datadir: De directory waar de gegevens met betrekking tot de Blockchain worden opgeslagen.

rpc: Schakelt HTTP-RPC-server in.

rpcport en rpcaddr worden gebruikt om respectievelijk de poort en het adres van het netwerk in te stellen.

rpcapi: Hiermee kunnen we communiceren met het Ethereum-netwerk met behulp van verschillende API's.

Geth verbinden met Ethereum Private Blockchain

De Geth-console is de console van waaruit we kunnen communiceren met de Ethereum Private Blockchain. Om Geth te verbinden met de Ethereum Private Blockchain, opent u een nieuwe terminal en voert u de onderstaande opdracht uit:

$ geth voeg http://127.0.0.1:8543 toe

Nu bevinden we ons in de Geth-console waar we opdrachten kunnen uitvoeren om te communiceren met de Blockchain.

Ethereum-account aanmaken

Om een ​​transactie te kunnen doen, hebben we een account nodig. In dit gedeelte van de Ethereum Smart Contract-zelfstudie zullen we zien hoe u een nieuw Ethereum-account kunt maken vanuit de Geth-console.

Door de stappen tot nu toe te volgen, zijn we al in de Geth-console. Om een ​​nieuw account aan te maken, voert u de volgende opdracht uit in de Geth-console:

> personal.newAccount ('seedphrase')

Vervang de 'zaadzin”Met het wachtwoord dat u voor dit account wilt instellen.

We hebben een nieuw account aangemaakt, maar dit account heeft geen ethers. Wij hebben nodigethers om een ​​transactie te maken en om ethers te krijgenvoor onze rekening gaan we ethers delven. Om te beginnen met minen, moeten we eerst het account ontgrendelen. Laten we het account ontgrendelen en beginnen met mijnen.

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

Terwijl mijnbouw blijft plaatsvinden, sommigeetherswordt op deze rekening gestort.

Opmerking : Deze ethers zijn dummy ethers en hebben geen echte waarde.

Om het saldo te controlerenethersin het account zullen we de volgende opdracht uitvoeren:

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

Als u deze opdracht met regelmatige tussenpozen uitvoert, ziet u dat deethersworden steeds groter door mijnbouw.

Voer de volgende opdracht uit om het minen te stoppen:

> mijnwerker.stop ()

Ethereum Smart Contract creëren

Truffelproject maken

Nu we onze privé Blockchain helemaal klaar hebben, zullen we zien hoe we een Ethereum Smart Contract kunnen maken met Truffle. Voor deze tutorial zullen we een eenvoudig 'Hello World' Ethereum Smart Contract maken.

Om hiermee te beginnen, maken we eerst een nieuwe map om het Truffel-project op te slaan. En dan zullen we in die map een nieuw Truffle-project maken. Open een nieuwe terminal en voer de onderstaande opdrachten uit:

$ mkdir truffel $ cd truffel $ truffel init

De truffel init commando zal alle benodigde bestanden aanmaken die nodig zijn voor een truffelproject.

Nu we alles hebben om een ​​Ethereum Smart Contract klaar te zetten, gaan we aan de slag met het schrijven van een 'Hello World' Smart Contract.

Een slim contract schrijven voor 'Hallo wereld'

Alle contracten moeten worden geschreven in de directory 'contracten'. We gaan naar deze map en maken een contract met de naam 'HelloWorld.sol' en voegen de volgende regels toe aan dit bestand:

pragma solidity ^ 0.4.15 contract HelloWorld {tekenreeks openbare berichtfunctie Hallo () openbaar {bericht = 'Hallo wereld!' }}

Dit is het! Maar dit slimme contract kan niet op zichzelf worden uitgevoerd. We zullen er enkele configuraties voor moeten maken.

Truffel-migratie configureren

Om ons Smart Contract te migreren, moeten we een bestand toevoegen in het 'Migraties' directory in het 'truffel' directory. In deze map zullen we een bestand met de naam toevoegen '2_deploy_contracts.js' met de volgende inhoud erin:

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

Bewaar en sluit af.

Om truffel op ons netwerk uit te voeren, moeten we de ' truffel.js ”Bestand in het 'truffel' directory . Open dit bestand en voer de volgende gegevens in:

module.exports = {rpc: {host: 'localhost', poort: 8543}, netwerken: {ontwikkeling: {host: 'localhost', poort: 8543, netwerk_id: '*', van: '0xfa2361236b5ac8079cb6cf250e5284922ed9ba9a', gas: 20000000}}}

Opmerking: Vervang de 'van' adres met het adres van het account dat u in de vorige stap heeft aangemaakt.

Ethereum Smart Contract uitvoeren

In dit laatste gedeelte van de Ethereum Smart Contract-zelfstudie zullen we zien hoe we ons 'Hello World' Smart Contract op ons Ethereum Private Network kunnen implementeren.

Smart Contract opstellen en implementeren

Voordat we ons Smart Contract kunnen uitvoeren, moeten we het eerst compileren en implementeren op ons Ethereum Private Network. We zullen dit doen met behulp van de volgende commando's:

$ truffel compileren

Nu moeten we ons account ontgrendelen en beginnen met mijnen. Ga terug naar de terminal met de Geth-console en voer de volgende opdracht uit:

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

en ga dan terug naar de terminal met 'truffel' als de huidige werkdirectory enrennenhet volgende commando:

salesforce ontwikkelaarshandleiding voor beginners pdf
$ truffel migreren

Wacht tot de implementatie is voltooid.

Smart Contract uitvoeren op Private Ethereum Blockchain

Om het slimme contract 'Hallo wereld' uit te voeren, moeten we de truffelconsole openen. Voer de volgende opdracht uit om dit te doen:

$ truffelconsole

U bevindt zich nu in de truffelconsole. Voer de volgende opdracht uit om het slimme contract uit te voeren:

> var first_contract> HelloWorld.deployed (). then (function (instantie) {first_contract = instantie})> dApp.message.call ()

Gefeliciteerd! U hebt uw eerste Ethereum Smart Contract gemaakt en uitgevoerd. Ik hoop dat deze Ethereum Smart Contract-zelfstudie informatief was en u heeft geholpen te begrijpen hoe u een Ethereum Smart Contract uitvoert. Ga nu door en probeer andere slimme contracten te schrijven en deze uit te voeren.

Heeft u een vraag voor ons? Plaats het op en we nemen zo snel mogelijk contact met u op.

Als je Blockchain wilt leren en een carrière in Blockchain Technologies wilt opbouwen, bekijk dan onze die wordt geleverd met live training onder leiding van een instructeur en real-life projectervaring. Deze training helpt je op een uitputtende manier te begrijpen wat Blockchain is en helpt je om het onderwerp onder de knie te krijgen.