Inteligentní smlouva Ethereum - Jak uzavřít inteligentní smlouvu?



V tomto výukovém programu Ethereum Smart Contract se naučíte, jak vytvořit, nasadit a provést inteligentní smlouvu pomocí Truffle a Ethereum Private Network.

Hlavním důvodem, proč si technologie Blockchain získala své místo mezi špičkovými technologiemi, je její decentralizovaná povaha. Zatímco hlavním účelem Blockchainu bylo udržovat záznamy transakcí bez ústředního orgánu, automatizovat to, Chytré smlouvy byly zavedeny. Ale co potom ? V tomto výukovém programu Ethereum Smart Contract uvidíme, jak používat Lanýž Ethereum a Privátní síť Ethereum uzavřít inteligentní smlouvu.

Zajímá vás vývoj etherea? Podívejte se na toto živé vysílání .





V tomto výukovém programu Ethereum Smart Contract se podíváme na následující témata:

  1. Případ použití: Chytré smlouvy v procesu pojištění
  2. Výhody inteligentních smluv
  3. Instalace předpokladů
  4. Konfigurace bloku Genesis
  5. Provozování privátní sítě Ethereum
  6. Vytvoření účtu Ethereum
  7. Vytvoření smlouvy Ethereum Smart
  8. Plnění smlouvy Ethereum Smart

Případ použití: Chytré smlouvy v procesu pojištění

„Blockchain“ následuje „No Central Authority“, a proto byly zavedeny Smart Contracts. Přemýšleli jste ale někdy nad tím, jak lze Smart smlouvu využít? V této části inteligentní smlouvy Ethereum vysvětlím případ použití inteligentní smlouvy v procesu pojištění.



Uvažujme příklad pojištění zpoždění letu. Předpokládejme, že chcete letět ze zdroje A do cíle C, ale nemáte přímý let. Takže se rozhodnete pro navazující let (přes B). Nyní bude vaše trasa z bodu A do bodu B a poté z bodu B do bodu C, kde B je letiště, na kterém budete měnit lety. Bohužel mezi lety z A do B a z B do C nemáte velkou časovou prodlevu. Takže pokud se náhodou let z A do B zpozdí, zmeškáte let z B do C. Vy uvědomte si to a jen abyste se zachránili před těžkými ztrátami, uzavřete pojištění zpoždění letu.

Pojištění zpoždění letu - Edureka

Nyní, pokud je váš let z bodu A do bodu B zpožděn (což vám zmešká let z bodu B do bodu C), bude vám vyplacena částka pojištění. Obvykle to funguje tak, že pokud je váš let zpožděn, nárokujete si pojištění. Poté tam někdo ověří a schválí pojištění a nakonec získáte částku pojištění. Ale to je docela zdlouhavý proces.



Jak můžete pomocí inteligentních smluv vylepšit proces pojištění?

Pokud jde o finanční transakce, a zejména když získáváte peníze, „čím rychleji, tím lépe“, že? Podívejme se tedy, jak mohou chytré smlouvy urychlit proces pojištění. Inteligentní smlouvy jsou digitální smlouvy, které se automaticky provádějí při splnění určitých podmínek. Lze uzavřít inteligentní smlouvu na výplatu pojistné částky lidem, kteří se rozhodli pro pojištění zpoždění letu, pokud dojde ke zpoždění letu. Když je tedy let zpožděn a toto zpoždění zaznamená systém, pojištění je okamžitě vyplaceno.

Hola! částka pojištění zaplacená během několika sekund. Takto jednoduché a rychlé inteligentní smlouvy umožňují proces.

Výhody inteligentních smluv

Ve výše uvedeném příkladu jste viděli, jak inteligentní smlouva může zrychlit finanční procesy. Kromě rychlých transakcí mají Smart Contracts ještě další výhody. Zde uvádím některé další výhody používání inteligentní smlouvy:

  • Automatický: Všechny probíhající kroky probíhají automaticky s inteligentními smlouvami
  • Žádné meziprodukty: Když používáte Chytré smlouvy, nepotřebujete meziprodukta, abyste mohli svou práci dokončit, protože vše bude řešeno Chytrými smlouvami
  • Nákladově efektivní: Používání chytrých smluv vám ušetří peníze za transakční poplatky účtované bankami a poplatky za služby zprostředkovateli (pokud existují)

Nyní, když víme, jak lze pomocí inteligentních kontraktů učinit svět rychlejším místem, pojďme k praktické části tohoto výukového programu Ethereum Smart Contract.

Instalace předpokladů

V tomto výukovém programu Ethereum Smart Contract budeme vyžadovat 5 důležitých aplikací:

  • NodeJS
  • NPM
  • Ethereum
  • Lanýž
  • Solidity Compiler

Instalace NodeJS

NodeJS je rámec JavaScript, který se používá k vytváření serverových aplikací. Jelikož používáme privátní síť, NodeJS usnadní vytváření síťové aplikace.

co je instance v pythonu

Chcete-li nainstalovat Nodejs, spusťte ve svém terminálu následující příkaz:

$ sudo apt-get install nodejs

Instalace NPM

NPM znamená Node Package Manager a používá se ke spouštění aplikací Nodejs.

Chcete-li nainstalovat NPM, spusťte ve svém terminálu následující příkaz:

$ sudo apt-get install npm

Instalace Etherea

Ethereum je open-source a veřejná blockchainová distribuovaná výpočetní platforma pro vytváření decentralizovaných aplikací.

Chcete-li nainstalovat Ethereum, spusťte ve svém terminálu následující příkaz:

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

Instalace Truffle

Truffle je vývojové prostředí, testovací rámec a potrubí aktiv pro Ethereum Blokchains.

Chcete-li nainstalovat Truffle, spusťte ve svém terminálu následující příkaz:

$ npm install -g lanýž

Instalace kompilátoru Solidity

Solidity je programovací jazyk používaný k psaní inteligentních kontraktů. Abychom mohli v našem systému spouštět inteligentní smlouvy, musíme si nainstalovat Solidity Compiler.

Chcete-li nainstalovat Solidity Compiler, spusťte ve svém terminálu následující příkaz:

$ sudo npm install -g solc

Konfigurace bloku Genesis

Genesis Block je počátečním bodem Blockchainu a ke spuštění Blockchainu potřebujeme soubor Genesis. V této části Ethereum Smart Contract napíšeme soubor Genesis a nakonfigurujeme jej tak, abychom mohli spouštět Smart Contracts.

Nejprve vytvořme nový adresář a poté v něm vytvoříme soubor genesis

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

Nyní zadejte následující řádky do pole genesis.json soubor:

{'config': {'chainId': 2019, 'homesteadBlock': 0, 'eip155Block': 0, 'eip158Block': 0},'alloc': {}, 'obtížnost': '200' 'gasLimit': '99999999999999'}

Uložte to a ukončete.

Provozování privátní sítě Ethereum

V tomto výukovém programu Etheruem Smart Contract nasadíme Ethereum Smart Contract na privátní síť. Ke spuštění této sítě tedy použijeme následující příkaz:

$ 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, osobní, horník'

Než se přesuneme dále, vysvětlím některé důležité příznaky použité ve výše uvedeném příkazu:

datadir: Adresář, kde jsou uložena data související s Blockchainem.

RPC: Povoluje server HTTP-RPC.

rpcport a rpcaddr slouží k nastavení portu a adresy sítě.

rpcapi: Umožňuje nám komunikovat se sítí Ethereum pomocí různých API.

Připojení Gethu k privátnímu blockchainu Ethereum

Konzole Geth je konzole, odkud můžeme komunikovat s privátním blockchainem Ethereum. Chcete-li připojit Geth k privátnímu blockchainu Ethereum, otevřete nový terminál a spusťte následující příkaz:

$ geth připojit http://127.0.0.1:8543

Nyní jsme v konzole Geth, kde můžeme spouštět příkazy pro interakci s Blockchainem.

Vytvoření účtu Ethereum

K provedení jakékoli transakce potřebujeme účet. V této části kurzu Ethereum Smart Contract uvidíme, jak vytvořit nový účet Ethereum z konzoly Geth.

Po provedení těchto kroků jsme již v konzole Geth. Chcete-li vytvořit nový účet, spusťte v konzole Geth následující příkaz:

> personal.newAccount ('seedphrase')

Nahradit 'seedphrase„S heslem, které chcete pro tento účet nastavit.

Vytvořili jsme nový účet, ale tento účet nemá žádné ethery. Potřebujemeethery provést jakoukoli transakci a získat etheryna náš účet začneme těžit ethery. Chcete-li zahájit těžbu, musíme nejprve odemknout účet. Odemkneme účet a začneme těžit.

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

Protože těžba stále probíhá, někteříetherybudou vloženy na tento účet.

Poznámka : Tyto ethery jsou figuríny ethery a nemají žádnou skutečnou hodnotu.

Pro kontrolu zůstatkuetheryv účtu spustíme následující příkaz:

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

Když tento příkaz spouštíte v pravidelných intervalech, uvidíte, žeetheryse kvůli těžbě zvyšují.

Chcete-li zastavit těžbu, spusťte následující příkaz:

> miner.stop ()

Vytvoření smlouvy Ethereum Smart

Vytváření projektu Truffle

Nyní, když máme všechny naše soukromé blockchainy připravené, uvidíme, jak vytvořit smlouvu Ethereum Smart pomocí Truffle. Pro tento výukový program vytvoříme jednoduchou smlouvu Ethereum Smart „Hello World“.

nastavit zatmění pro javu

Nejprve vytvořme nový adresář pro uložení projektu Truffle. A pak v tomto adresáři vytvoříme nový projekt Truffle. Otevřete nový terminál a spusťte následující příkazy:

$ mkdir lanýž $ cd lanýž $ truffle init

The lanýž inici příkaz vytvoří všechny potřebné soubory potřebné pro projekt lanýže.

Nyní, když máme vše k nasazení inteligentní smlouvy Ethereum, pojďme sepsat inteligentní smlouvu „Hello World“.

Psaní inteligentní smlouvy „Hello World“

Všechny smlouvy by měly být zapsány do adresáře „contract“. Přepneme se do tohoto adresáře a vytvoříme smlouvu s názvem „HelloWorld.sol“ a do tohoto souboru přidáme následující řádky:

pragma solidity ^ 0.4.15 kontrakt HelloWorld {funkce veřejné zprávy řetězce Hello () public {message = 'Hello World!' }}

To je ono! Tuto inteligentní smlouvu však nelze provést samostatně. Budeme pro to muset udělat nějaké konfigurace.

Konfigurace migrace lanýžů

Chcete-li migrovat naši chytrou smlouvu, budeme muset přidat soubor do „Migrace“ adresář v 'lanýž' adresář. V tomto adresáři přidáme soubor s názvem „2_deploy_contracts.js“ s následujícím obsahem:

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

Uložit a odejít.

Pro spuštění lanýže v naší síti je třeba upravit „ truffle.js “Soubor v 'lanýž' adresář . Otevřete tento soubor a proveďte následující zadání:

module.exports = {rpc: {host: 'localhost', port: 8543}, sítě: {development: {host: 'localhost', port: 8543, network_id: '*', from: '0xfa2361236b5ac8079cb6cf250e5284922ed9ba9a', plyn: 20000000}}}

Poznámka: Nahradit 'z' adresa s adresou účtu, který jste vytvořili v předchozím kroku.

Plnění smlouvy Ethereum Smart

V této poslední části tutoriálu Ethereum Smart Contract uvidíme, jak nasadit naši inteligentní smlouvu „Hello World“ do naší privátní sítě Ethereum.

Kompilace a nasazení inteligentní smlouvy

Než budeme moci provést naši chytrou smlouvu, musíme ji nejprve zkompilovat a nasadit do naší privátní sítě Ethereum. Uděláme to pomocí následujících příkazů:

$ lanýž kompilace

Nyní musíme odemknout náš účet a zahájit těžbu. Vraťte se k terminálu pomocí konzoly Geth a spusťte následující příkaz:

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

a pak se vraťte zpět k terminálu, který má 'lanýž' jako současný pracovní adresář aběhnásledující příkaz:

$ truffle migrate

Počkejte na dokončení nasazení.

Uzavření inteligentní smlouvy na privátním ethereum blockchainu

K provedení inteligentní smlouvy „Hello World“ budeme muset vstoupit do konzoly lanýžů. Chcete-li to provést, spusťte následující příkaz:

$ lanýžová konzole

Nyní budete v konzole lanýže. Chcete-li provést inteligentní smlouvu, spusťte následující příkaz:

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

Gratulujeme! Vytvořili jste svou první smlouvu Ethereum Smart a provedli ji. Doufám, že tento výukový program Ethereum Smart Contract byl poučný a pomohl vám pochopit, jak uzavřít smlouvu Ethereum Smart Contract. Nyní pokračujte a zkuste napsat další inteligentní smlouvy a provést je.

Máte na nás dotaz? Zveřejněte to prosím na a my se vám ozveme.

Pokud se chcete naučit Blockchain a budovat si kariéru v Blockchain Technologies, podívejte se na náš který přichází s živým tréninkem vedeným instruktorem a zkušenostmi z reálného projektu. Toto školení vám pomůže pochopit, co je Blockchain vyčerpávajícím způsobem, a pomůže vám dosáhnout mistrovství v předmětu.