Hlavným dôvodom, prečo si Blockchain Technology získala svoje miesto medzi top technológiami, je jeho decentralizovaný charakter. Aj keď hlavným účelom Blockchainu bolo udržiavať záznamy o transakciách bez ústredného orgánu, automatizovať to, Inteligentné zmluvy boli zavedené. Ale čo potom ? V tomto výučbovom programe Ethereum Smart Contract sa dozvieme, ako sa používa Hľuzovka Ethereum a Súkromná sieť Etherea uzavrieť inteligentnú zmluvu.
Máte záujem o vývoj éteru? Vyskúšajte toto naživo .
V tomto výučbovom programe Ethereum Smart Contract sa pozrieme na nasledujúce témy:
- Prípad použitia: Inteligentné zmluvy v procese poistenia
- Výhody inteligentných zmlúv
- Inštalácia predbežných predpokladov
- Konfigurácia bloku Genesis
- Prevádzka privátnej siete Ethereum
- Vytvorenie účtu Ethereum
- Vytvorenie inteligentnej zmluvy Ethereum
- Plnenie zmluvy Smart Ethereum
Prípad použitia: Inteligentné zmluvy v procese poistenia
Blockchain sleduje slovo „žiadny ústredný orgán“, a preto boli zavedené inteligentné zmluvy. Ale zamysleli ste sa niekedy nad tým, ako sa dá Smart zmluva využiť? V tejto časti inteligentnej zmluvy Ethereum vysvetlím prípad použitia inteligentnej zmluvy v poistnom procese.
Uvažujme o príklade poistenia meškania letu. Predpokladajme, že chcete letieť zo zdroja A do cieľa C, ale nemáte priamy let. Takže sa rozhodnete pre nadväzujúci let (cez B). Teraz bude vaša trasa z bodu A do bodu B a potom z bodu B do bodu C, kde B je letisko, kde budete meniť lety. Bohužiaľ medzi letmi z A do B a z B do C nemáte veľký časový odstup. Takže ak sa náhodou stane, že let z A do B bude meškať, zmeškáte let z B do C. Vy uvedomte si to a len aby ste sa zachránili pred veľkými stratami, uzatvárate poistenie oneskorenia letu.
Ak teraz váš let z bodu A do bodu B mešká (kvôli čomu zmeškáte let z bodu B do bodu C), bude vám vyplatená suma poistenia. Normálny spôsob, ako to funguje, je, že ak má váš let meškanie, nárokujete si poistenie. Potom tam niekto overí a schváli poistenie a nakoniec získate svoju poistnú sumu. Je to však dosť zdĺhavý proces.
Ako môžete použiť inteligentné zmluvy na zlepšenie procesu poistenia?
Pokiaľ ide o finančné transakcie, a najmä keď získavate peniaze, „čím rýchlejšie, tým lepšie“, nie? Pozrime sa teda, ako môžu inteligentné zmluvy urýchliť proces poistenia. Inteligentné kontrakty sú digitálne kontrakty, ktoré sa automaticky uskutočňujú pri splnení určitých podmienok. Môže byť napísaná inteligentná zmluva na vyplatenie poistnej sumy ľuďom, ktorí sa rozhodli pre poistenie oneskoreného letu, ak sa let oneskorí. Takže keď mešká let a toto meškanie zaznamená systém, poistenie sa vyplatí okamžite.
Ahoj! poistná suma vyplatená za pár sekúnd. Takto jednoduché a rýchle inteligentné zmluvy uskutočňujú proces.
Výhody inteligentných zmlúv
Na vyššie uvedenom príklade ste videli, ako môže inteligentná zmluva zrýchliť finančné procesy. Okrem rýchlych transakcií majú inteligentné zmluvy aj ďalšie výhody. Tu uvádzam niektoré ďalšie výhody plynúce z používania inteligentnej zmluvy:
- Automaticky: Všetky prebiehajúce kroky prebiehajú automaticky s inteligentnými zmluvami
- Žiadne medziprodukty: Ak používate inteligentné zmluvy, na splnenie úlohy nepotrebujete nijakého prostredníka, pretože všetko bude riešené pomocou inteligentných zmlúv
- Nákladovo efektívne: Používanie inteligentných zmlúv vám ušetrí peniaze za transakčné poplatky účtované bankami a poplatky za služby sprostredkovateľmi (ak existujú)
Teraz, keď vieme, ako je možné pomocou inteligentných zmlúv urobiť svet rýchlejším, poďme k praktickej časti tohto výukového programu Ethereum Smart Contract.
Inštalácia predbežných predpokladov
Pre tento tutoriál Ethereum Smart Contract budeme vyžadovať 5 dôležitých aplikácií:
- NodeJS
- NPM
- Ethereum
- Hľuzovka
- Kompilátor solídnosti
Inštalácia NodeJS
NodeJS je rámec JavaScript, ktorý sa používa na vytváranie serverových aplikácií. Pretože používame súkromnú sieť, NodeJS uľahčí vytvorenie sieťovej aplikácie.
čo je inštancia v pythone
Ak chcete nainštalovať Nodejs, spustite vo svojom termináli nasledujúci príkaz:
$ sudo apt-get nainštalovať nodejs
Inštalácia NPM
NPM znamená Node Package Manager a používa sa na spustenie aplikácií Nodejs.
Ak chcete nainštalovať NPM, spustite vo svojom termináli nasledujúci príkaz:
$ sudo apt-get install npm
Inštaluje sa Ethereum
Ethereum je open-source a verejná blockchainová, distribuovaná výpočtová platforma na vytváranie decentralizovaných aplikácií.
Ak chcete nainštalovať Ethereum, spustite vo svojom termináli nasledujúci prí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
Inštalácia hľuzovky
Hľuzovka je vývojové prostredie, testovací rámec a potrubie aktív pre Ethereum Blokchains.
Ak chcete nainštalovať Truffle, spustite vo svojom termináli nasledujúci príkaz:
$ npm inštalácia -g hľuzovka
Inštalácia kompilátora Solidity
Solidity je programovací jazyk používaný na písanie inteligentných zmlúv. Ak chcete v našom systéme spúšťať inteligentné zmluvy, musíme si nainštalovať kompilátor Solidity.
Ak chcete nainštalovať kompilátor Solidity, spustite vo svojom termináli nasledujúci príkaz:
$ sudo npm install -g solc
Konfigurácia bloku Genesis
Genesis Block je východiskovým bodom blockchainu a na spustenie blockchainu potrebujeme súbor genesis. V tejto časti Ethereum Smart Contract napíšeme súbor Genesis a nakonfigurujeme ho tak, aby nám umožňoval spúšťať Smart Contracts.
Najprv si vytvoríme nový adresár a potom v ňom vytvoríme súbor genesis
$ mkdir ethereum-network $ cd ethereum-network $ nano genesis.json
Teraz zadajte nasledujúce riadky do genesis.json spis:
{'config': {'chainId': 2019, 'homesteadBlock': 0, 'eip155Block': 0, 'eip158Block': 0},'alloc': {}, 'obtiažnosť': '200' 'gasLimit': '99999999999999'}
Uložte to a ukončite prácu.
Prevádzka privátnej siete Ethereum
V tomto výučbovom programe Etheruem Smart Contract nasadíme Ethereum Smart Contract na súkromnú sieť. Na spustenie tejto siete teda použijeme nasledujúci prí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, personal, miner'
Pred ďalším pohybom mi dovoľte vysvetliť niektoré dôležité príznaky použité vo vyššie uvedenom príkaze:
datadir: Adresár, kde sú uložené údaje týkajúce sa blockchainu.
RPC: Povolí server HTTP-RPC.
rpcport a rpcaddr sa používajú na nastavenie portu a adresy siete.
rpcapi: Umožňuje nám komunikovať so sieťou Ethereum pomocou rôznych rozhraní API.
Connecting Geth to Ethereum Private Blockchain
Konzola Geth je konzola, odkiaľ môžeme komunikovať s Ethereum Private Blockchain. Ak chcete pripojiť Geth k Ethereum Private Blockchain, otvorte nový terminál a spustite nasledujúci príkaz:
$ geth pripojiť http://127.0.0.1:8543
Teraz sme v konzole Geth, kde môžeme spúšťať príkazy na interakciu s Blockchainom.
Vytvorenie účtu Ethereum
Na uskutočnenie akejkoľvek transakcie potrebujeme účet. V tejto časti tutoriálu Ethereum Smart Contract uvidíme, ako vytvoriť nový účet Ethereum z konzoly Geth.
Podľa doterajších krokov sme už v konzole Geth. Ak chcete vytvoriť nový účet, spustite v konzole Geth nasledujúci príkaz:
> personal.newAccount ('seedphrase')
Vymeňte „semenná fráza”S heslom, ktoré chcete pre tento účet nastaviť.
Vytvorili sme nový účet, ale tento účet nemá étery. Potrebujemeétery vykonať akúkoľvek transakciu a získať éteryna náš účet začneme ťažiť étery. Ak chcete začať ťažiť, musíme najskôr odomknúť účet. Odomkneme účet a začneme ťažiť.
> personal.unlockAccount (web3.eth.coinbase, 'seedphrase')> miner.start ()
Keďže ťažba stále prebieha, niektorééterybudú uložené na tento účet.
Poznámka : Tieto étery sú atrapy éterov a nemajú skutočnú hodnotu.
Pre kontrolu zostatkuéteryv účte spustíme nasledujúci príkaz:
> web3.fromWei (eth.getBalance (eth.coinbase), 'éter')
Keď tento príkaz spustíte v pravidelných intervaloch, uvidíte, žeéterysa vďaka ťažbe zvyšujú.
Ak chcete ťažbu zastaviť, spustite nasledujúci príkaz:
> miner.stop ()
Vytvorenie inteligentnej zmluvy Ethereum
Vytvára sa projekt Hľuzovka
Teraz, keď máme všetky naše súkromné blockchainy pripravené, uvidíme, ako vytvoriť zmluvu Ethereum Smart pomocou Truffle. Pre tento tutoriál vytvoríme jednoduchú „Hello World“ zmluvu Ethereum Smart.
preťaženie funkcií v c ++
Začneme tým, že najskôr vytvoríme nový adresár na uloženie projektu Truffle. A potom v tomto adresári vytvoríme nový projekt Truffle. Otvorte nový terminál a spustite nasledujúce príkazy:
$ mkdir hľuzovka $ cd hľuzovka $ truffle init
The hľuzovka init príkaz vytvorí všetky potrebné súbory potrebné pre projekt hľuzovky.
Teraz, keď už máme všetko na nasadenie inteligentnej zmluvy Ethereum, poďme k napísaniu inteligentnej zmluvy „Hello World“.
Písanie inteligentnej zmluvy „Hello World“
Všetky zmluvy by mali byť napísané v adresári „contract“. Prejdeme do tohto adresára a vytvoríme zmluvu s názvom „HelloWorld.sol“ a do tohto súboru pridáme nasledujúce riadky:
pragma solidity ^ 0.4.15 kontrakt HelloWorld {funkcia verejnej správy reťazca Hello () public {message = 'Hello World!' }}
Toto je ono! Táto inteligentná zmluva však nemôže byť vykonaná sama. Budeme pre to musieť urobiť nejaké konfigurácie.
Konfigurácia migrácie hľuzoviek
Na migráciu našej inteligentnej zmluvy budeme musieť pridať súbor do „Migrácie“ adresár v priečinku „Hľuzovka“ adresár. V tomto adresári pridáme súbor s názvom „2_deploy_contracts.js“ s nasledujúcim obsahom:
var HelloWorld = artifacts.require ('./ HelloWorld.sol') modul.exports = funkcia (nasadenie) {deployer.deploy (HelloWorld)}
Uložiť a ukončiť.
Ak chcete v našej sieti spustiť hľuzovku, musíme upraviť „ truffle.js ”Súbor v „Hľuzovka“ adresár . Otvorte tento súbor a vykonajte nasledujúce zadania:
module.exports = {rpc: {host: 'localhost', port: 8543}, siete: {development: {host: 'localhost', port: 8543, network_id: '*', from: '0xfa2361236b5ac8079cb6cf250e5284922ed9ba9a', plyn: 20000000}}}
Poznámka: Vymeňte „Od“ adresa s adresou účtu, ktorý ste vytvorili v predchádzajúcom kroku.
Plnenie zmluvy Smart Ethereum
V tejto poslednej časti tutoriálu Ethereum Smart Contract sa dozvieme, ako nasadiť našu inteligentnú zmluvu „Hello World“ do našej súkromnej siete Ethereum.
Zostavenie a nasadenie inteligentnej zmluvy
Predtým, ako budeme môcť vykonať našu inteligentnú zmluvu, musíme ju najskôr skompilovať a nasadiť do našej súkromnej siete Ethereum. Urobíme to pomocou nasledujúcich príkazov:
$ hľuzovka zostaviť
Teraz musíme odomknúť náš účet a začať ťažiť. Vráťte sa do terminálu pomocou konzoly Geth a spustite nasledujúci príkaz:
> personal.unlockAccount (web3.eth.coinbase) > miner.start ()
a potom sa vráťte späť k terminálu, ktorý má „Hľuzovka“ ako súčasný pracovný adresár abežaťnasledujúci príkaz:
$ hľuzovka migruje
Počkajte na dokončenie nasadenia.
Plnenie inteligentnej zmluvy o súkromnom ethereovom blockchaine
Na vykonanie inteligentnej zmluvy „Hello World“ budeme musieť vstúpiť do konzoly hľuzoviek. Spustíte nasledujúci príkaz:
$ hľuzovka konzola
Teraz budete v konzole hľuzovky. Ak chcete vykonať inteligentnú zmluvu, spustite nasledujúci príkaz:
> var first_contract> HelloWorld.deployed (). then (function (instance) {first_contract = instance})> dApp.message.call ()
Blahoželáme! Vytvorili ste svoju prvú zmluvu Ethereum Smart a vykonali ju. Dúfam, že tento návod Ethereum Smart Contract bol informačný a pomohol vám pochopiť, ako vykonať zmluvu Ethereum Smart Contract. Teraz pokračujte a skúste napísať ďalšie inteligentné zmluvy a vykonať ich.
Máte na nás otázku? Zverejnite to prosím a ozveme sa vám.
Ak sa chcete naučiť blockchain a budovať si kariéru v blockchainových technológiách, pozrite sa na naše ktorá prináša živé školenie vedené inštruktorom a skúsenosti s projektmi v reálnom živote. Toto školenie vám pomôže vyčerpávajúcim spôsobom pochopiť, čo je Blockchain, a pomôže vám dosiahnuť ovládnutie predmetu.