Ethereum intelligens szerződés - Hogyan lehet intelligens szerződést végrehajtani?



Ebben az Ethereum intelligens szerződés oktatóanyagban megtudhatja, hogyan hozhat létre, telepíthet és hajthat végre intelligens szerződést a Szarvasgomba és az Ethereum privát hálózat használatával.

A Blockchain Technology fő oka annak, hogy helyet foglaljon a csúcstechnológiák között, decentralizált jellege miatt. Míg a Blockchain fő célja a tranzakciós nyilvántartások központi hatóság nélküli vezetése volt, ennek automatizálása, Intelligens szerződések vezették be. De mi után ? Ebben az Ethereum Intelligens szerződés oktatóanyagban megtudjuk, hogyan kell használni Szarvasgomba Ethereum és Ethereum Private Network intelligens szerződés végrehajtására.

Érdekli az Ethereum fejlesztése? Nézze meg ezt a Live-ot .





A következő témákat tekintjük meg ebben az Ethereum Intelligens szerződés oktatóanyagban:

  1. Felhasználási eset: Intelligens szerződések a biztosítási folyamatban
  2. Az intelligens szerződések előnyei
  3. Előfeltételek telepítése
  4. A Genesis Block konfigurálása
  5. Az Ethereum Private Network működtetése
  6. Ethereum számla létrehozása
  7. Ethereum intelligens szerződés létrehozása
  8. Ethereum intelligens szerződés végrehajtása

Felhasználási eset: Intelligens szerződések a biztosítási folyamatban

A „Nincs központi hatóság” az, amelyet a Blockchain követ, és ezért vezették be az intelligens szerződéseket. De elgondolkodott már azon, hogy miként lehet használni az intelligens szerződést? Nos, az Ethereum intelligens szerződésének ebben a szakaszában elmagyarázom az intelligens szerződés használatának eseteit a biztosítási folyamatban.



Vegyünk egy példát a repülési késés biztosítására. Tegyük fel, hogy az A forrásból a C célba szeretne repülni, de nincs közvetlen járata. Tehát úgy dönt, hogy csatlakozó járatot tesz (B-n keresztül). Most az útvonal A-ból B-be, majd B-ből C-be fog menni, ahol B az a repülőtér, amelyen módosítani fogja a járatokat. Sajnos nincs sok időbeli különbség az A és B, valamint a B és C közötti járatok között. Tehát, ha véletlenül késik az A és B közötti járat, akkor lemarad a B és C közötti járatról. rájön erre, és csak azért, hogy megmentse magát a súlyos veszteségektől, köt egy Repülési Késedelmi Biztosítót.

Repülési késés biztosítás - Edureka

Most, ha késik az A és B között tartó járata (ami miatt elmarad a B és C közötti járat), meg kell fizetnie a biztosítási összeget. A szokásos módon ez úgy működik, hogy ha késik a járata, akkor igényli a biztosítást. Aztán ott valaki ellenőrzi és jóváhagyja a biztosítást, végül megkapja a biztosítási összeget. De ez elég hosszú folyamat.



Hogyan használhatja az intelligens szerződéseket a biztosítási folyamat javítására?

Ha a pénzügyi tranzakciókról van szó, és különösen, ha pénzt kap, akkor 'minél gyorsabban, annál jobb', nem igaz? Tehát nézzük meg, hogyan tudják az intelligens szerződések felgyorsítani a biztosítási folyamatot. Az intelligens szerződések digitális szerződések, amelyek automatikusan teljesülnek, ha bizonyos feltételek teljesülnek. Intelligens szerződés írható a biztosítási összeg kifizetésére azok számára, akik a repülés késése esetén választották a repülési késés biztosítását. Tehát, ha a repülés késik és ezt a késést a rendszer rögzíti, a biztosítást azonnal kifizetik.

Szia! néhány másodperc alatt kifizetett biztosítási összeg. Az egyszerű és gyors intelligens szerződések így valósítják meg a folyamatot.

Az intelligens szerződések előnyei

Látta a fenti példában, hogy az Intelligens Szerződés hogyan tudja felgyorsítani a pénzügyi folyamatokat. A gyors tranzakciók mellett az Intelligens szerződéseknek van még néhány előnye. Itt felsorolom az intelligens szerződés használatának néhány további előnyét:

  • Automatikus: A folyamat összes lépése automatikusan megtörténik az intelligens szerződésekkel
  • Nincs köztitermék: Az intelligens szerződések használatakor nincs szükség közbensőre a munka elvégzéséhez, mivel mindent az intelligens szerződések fognak kezelni
  • Költséghatékony: Az Intelligens szerződések használatával pénzt takaríthat meg a bankok által felszámított tranzakciós díjak és a közvetítők (ha vannak) szolgáltatási díjai.

Most, hogy tudjuk, hogyan használhatók az intelligens szerződések a világ gyorsabbá tételéhez, térjünk át az Ethereum intelligens szerződés oktatóanyagának gyakorlati részére.

Előfeltételek telepítése

Ehhez az Ethereum Smart Contract oktatóanyaghoz 5 fontos alkalmazásra lesz szükségünk:

  • NodeJS
  • NPM
  • Ethereum
  • Szarvasgomba
  • Szilárdság-fordító

A NodeJS telepítése

A NodeJS egy JavaScript keretrendszer, amelyet kiszolgálóalkalmazások készítésére használnak. Mivel privát hálózatot használunk, a NodeJS megkönnyíti a hálózati alkalmazás kiépítését.

A Nodejs telepítéséhez futtassa a következő parancsot a terminálon:

$ sudo apt-get install nodejs

Az NPM telepítése

Az NPM a Node Package Manager rövidítése, és a Nodejs alkalmazások futtatására szolgál.

Az NPM telepítéséhez futtassa a következő parancsot a terminálon:

$ sudo apt-get install npm

Az Ethereum telepítése

Ethereum egy nyílt forráskódú és nyilvános blokklánc alapú, elosztott számítási platform decentralizált alkalmazások építéséhez.

Az Ethereum telepítéséhez futtassa a következő parancsot a terminálján:

fibonacci sorozat program java nyelven
$ sudo apt-get install software-properties-common $ sudo add-apt-repository -y ppa: ethereum / ethereum $ sudo apt-get update $ sudo apt-get install ethereum

A szarvasgomba telepítése

A szarvasgomba az Ethereum Blokchains fejlesztői környezete, tesztelési keretrendszere és eszközvezetéke.

A Truffle telepítéséhez futtassa a következő parancsot a terminálon:

$ npm install -g szarvasgomba

A Solidity Compiler telepítése

A szilárdság egy programozási nyelv, amelyet az intelligens szerződések megírásához használnak. Intelligens szerződések futtatásához a rendszerünkön telepítenünk kell a Solidity Compilert.

A Solidity Compiler telepítéséhez futtassa a következő parancsot a terminálon:

$ sudo npm install -g solc

A Genesis Block konfigurálása

A Genesis blokk a Blockchain kiindulópontja, és szükségünk van egy genezis fájlra a Blockchain elindításához. Az Ethereum intelligens szerződésének ebben a szakaszában írunk egy Genesis fájlt, és úgy konfiguráljuk, hogy lehetővé tegye az intelligens szerződések futtatását.

Először hozzunk létre egy új könyvtárat, majd abban a könyvtárban hozzuk létre a genezis fájl

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

Írja be a következő sorokat a genezis.json fájl:

{'config': {'chainId': 2019, 'homesteadBlock': 0, 'eip155Block': 0, 'eip158Block': 0},'allokáció: {},' nehézség ':' 200 '' gasLimit ':' 99999999999999 '}

Mentse el ezt, és lépjen ki.

Az Ethereum Private Network működtetése

Ebben az Etheruem intelligens szerződés oktatóprogramban Ethereum intelligens szerződést telepítünk egy privát hálózaton. Tehát a hálózat elindításához a következő parancsot fogjuk használni:

$ 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'

Mielőtt továbblépne, hadd magyarázzam el a fenti parancsban használt néhány fontos jelzőt:

datadir: A könyvtár, ahol a Blockchainhez kapcsolódó adatokat tárolják.

RPC: Engedélyezi a HTTP-RPC szervert.

rpcport és rpcaddr a hálózat portjának és címének beállítására szolgálnak.

rpcapi: Lehetővé teszi számunkra, hogy különböző API-k segítségével lépjünk kapcsolatba az Ethereum hálózattal.

A Geth és az Ethereum Private Blockchain összekapcsolása

A Geth konzol az a konzol, ahonnan kapcsolatba léphetünk az Ethereum Private Blockchain-nel. A Geth és az Ethereum Private Blockchain összekapcsolásához nyisson meg egy új terminált, és futtassa az alábbi parancsot:

$ geth csatolni http://127.0.0.1:8543

Most a Geth konzolban vagyunk, ahol parancsokat futtathatunk a Blockchain-nel való interakcióhoz.

Ethereum számla létrehozása

Bármely tranzakció végrehajtásához számlára van szükségünk. Az Ethereum Smart Contract oktatóanyag ezen szakaszában megtudhatjuk, hogyan hozhatunk létre új Ethereum fiókot a Geth konzolról.

hogyan lehet megfordítani egy számot a pythonban

Az eddigi lépéseket követve már a Geth konzolban vagyunk. Új fiók létrehozásához futtassa a következő parancsot a Geth konzolon:

> personal.newAccount ('seedphrase')

Helyettesíteni a 'magmondat”A jelszóval, amelyet ehhez a fiókhoz szeretne beállítani.

Létrehoztunk egy új fiókot, de ennek a fióknak nincsenek éterei. Szükségünk vanéterek bármilyen tranzakcióhoz és éterek megszerzéséhezszámlánkra megkezdjük az éterek bányászatát. A bányászat megkezdéséhez először fel kell oldanunk a számla zárolását. Oldjuk fel a számlát, és kezdjük el a bányászatot.

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

Mivel a bányászat folyamatosan történik, néhányanéterekerre a számlára kerül.

jegyzet : Ezek az éterek dummy éterek és nincs valós értékük.

Az egyensúly ellenőrzéséhezétereka fiókban a következő parancsot fogjuk futtatni:

> web3.fromWei (eth.getBalance (eth.coinbase), 'éter')

Amikor ezt a parancsot rendszeres időközönként futtatja, látni fogja, hogy aéterekegyre növekszik a bányászat miatt.

A bányászat leállításához futtassa a következő parancsot:

> miner.stop ()

Ethereum intelligens szerződés létrehozása

Szarvasgomba projekt létrehozása

Most, hogy készen áll a privát Blockchainunkra, meglátjuk, hogyan lehet létrehozni egy Ethereum intelligens szerződést a szarvasgomba segítségével. Ehhez az oktatóanyaghoz létrehozunk egy egyszerű „Hello World” Ethereum intelligens szerződést.

Kezdésként először hozzunk létre egy új könyvtárat a Szarvasgomba projekt tárolására. És akkor ebben a könyvtárban létrehozunk egy új Szarvasgomba projektet. Nyisson meg egy új terminált, és futtassa az alábbi parancsokat:

$ mkdir szarvasgomba $ cd szarvasgomba $ szarvasgomba init

Az szarvasgomba init parancs létrehozza a szarvasgombás projekthez szükséges összes fájlt.

Most, hogy minden megvan ahhoz, hogy készen álljunk az Ethereum intelligens szerződés telepítésére, térjünk rá a „Hello World” intelligens szerződés megírására.

„Hello World” intelligens szerződés megírása

Az összes szerződést a „szerződések” könyvtárba kell beírni. Átváltunk erre a könyvtárra, létrehozunk egy szerződést a „HelloWorld.sol” névvel, és hozzáadjuk a következő sorokat ehhez a fájlhoz:

pragma szilárdság ^ 0.4.15 szerződés HelloWorld {string public message function Hello () public {message = 'Hello World!' }}

Ez az! De ez az intelligens szerződés önmagában nem hajtható végre. Néhány konfigurációt el kell végeznünk hozzá.

A szarvasgomba migrációjának konfigurálása

Az intelligens szerződés áttelepítéséhez hozzá kell adnunk egy fájlt a „Migrációk” könyvtár a 'szarvasgomba' Könyvtár. Ebben a könyvtárban hozzáadunk egy nevű fájlt „2_deploy_contracts.js” a következő tartalommal:

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

Mentés és kilépés.

A szarvasgomba futtatásához a hálózatunkon szerkesztenünk kell a szarvasgomba.js ”Fájl a 'szarvasgomba' Könyvtár . Nyissa meg ezt a fájlt, és végezze el a következő bejegyzéseket:

module.exports = {rpc: {host: 'localhost', port: 8543}, hálózatok: {fejlesztés: {host: 'localhost', port: 8543, network_id: '*', innen: '0xfa2361236b5ac8079cb6cf250e5284922ed9ba9a', gáz: 20000000}}}

Jegyzet: Helyettesíteni a 'tól től' cím az előző lépésben létrehozott fiók címével.

Ethereum intelligens szerződés végrehajtása

Az Ethereum intelligens szerződés oktatóanyagának ebben a szakaszában megtudhatjuk, hogyan telepíthetjük a „Hello World” intelligens szerződésünket az Ethereum privát hálózatunkra.

Intelligens szerződés összeállítása és bevezetése

Mielőtt végre tudnánk hajtani az intelligens szerződésünket, először össze kell állítanunk és telepítenünk kell az Ethereum privát hálózatunkba. Ezt a következő parancsokkal fogjuk megtenni:

$ szarvasgomba fordítás

Most fel kell oldanunk a számlánkat és el kell kezdenünk a bányászatot. Menjen vissza a terminálhoz a Geth konzollal, és futtassa a következő parancsot:

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

majd menjen vissza a terminálhoz, amelynek van 'szarvasgomba' mint a jelenlegi munkakönyvtár ésfussa következő parancsot:

$ szarvasgomba migrál

Várja meg a telepítés befejezését.

Intelligens szerződés végrehajtása privát Ethereum blokkláncon

A „Hello World” intelligens szerződés végrehajtásához be kell lépnünk a szarvasgomba konzolba. Ehhez futtassa a következő parancsot:

$ szarvasgombás konzol

Most a szarvasgombás konzolban lesz. Az intelligens szerződés végrehajtásához futtassa a következő parancsot:

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

Gratulálunk! Létrehozta első Ethereum intelligens szerződését, és végrehajtotta. Remélem, hogy ez az Ethereum intelligens szerződés oktató jellegű volt, és segített megérteni az Ethereum intelligens szerződésének végrehajtását. Most pedig folytassa, próbáljon meg más intelligens szerződéseket írni és végrehajtani.

Van egy kérdésünk? Kérjük, tegye fel ide: és mi visszatérünk hozzád.

Ha meg akarja tanulni a Blockchain-t, és karriert akar építeni a Blockchain Technologies-ban, akkor nézze meg a következőt: amely oktató által vezetett élő képzéssel és valós projekt-tapasztalattal jár. Ez a képzés segít kimerítően megérteni, mi is az a Blockchain, és segít elsajátítani a témát.