Ethereum Smart Contract - Kuinka älykäs sopimus voidaan toteuttaa?



Tässä Ethereum Smart Contract -opetusohjelmassa opit luomaan, asentamaan ja toteuttamaan älykkään sopimuksen käyttämällä tryffeli- ja Ethereum Private Network -verkkoa.

Tärkein syy Blockchain-tekniikan saamiseen paikkansa huipputeknologioiden joukossa johtuu sen hajautetusta luonteesta. Vaikka Blockchainin päätarkoitus oli ylläpitää tapahtumatietueita ilman keskusviranomaista, tämän automatisoimiseen, Älykkäät sopimukset otettiin käyttöön. Mutta mitä sen jälkeen ? Tässä Ethereum Smart Contract -opetusohjelmassa näemme kuinka käyttää Tryffeli Ethereum ja Ethereumin yksityinen verkko toteuttaa älykäs sopimus.

Kiinnostaako Ethereumin kehitys? Katso tämä Live .





Tarkastelemme seuraavia aiheita tässä Ethereum Smart Contract -opetusohjelmassa:

  1. Käyttötapaus: Älykkäät sopimukset vakuutusprosessissa
  2. Älykkäiden sopimusten edut
  3. Esivaatimusten asentaminen
  4. Genesis-lohkon määrittäminen
  5. Ethereumin yksityisverkon käyttäminen
  6. Ethereum-tilin luominen
  7. Ethereum Smart -sopimuksen luominen
  8. Ethereum Smart -sopimuksen toteuttaminen

Käyttötapaus: Älykkäät sopimukset vakuutusprosessissa

'Ei keskusviranomaista' seuraa Blockchain, ja siksi älykkäät sopimukset otettiin käyttöön. Mutta oletko koskaan miettinyt, miten älykästä sopimusta voidaan käyttää? No, tässä Ethereumin älykkään sopimuksen osassa selitän älykkään sopimuksen käyttötapausta vakuutusprosessissa.



python def __init __ (itse)

Tarkastellaan esimerkkiä lentojen viivästymisestä. Oletetaan, että haluat lentää lähteestä A määränpäähän C, mutta sinulla ei ole suoraa lentoa. Joten päätät ottaa jatkolennon (B: n kautta). Reittisi tulee nyt A: sta B: hen ja sitten B: stä C: hen, missä B on lentokenttä, jolla muutat lentoja. Valitettavasti lentojen välillä A: sta B: hen ja B: stä C: een ei ole paljon aikavälejä. Joten jos jostain syystä lento A: sta B: hen viivästyy, menetät lennon B: stä C: hen. ymmärrä tämä ja vain säästääksesi itsesi raskailta tappioilta otat lentoviiveen vakuutuksen.

Lentojen viivästymisvakuutus - Edureka

Nyt, jos lentosi A: sta B: hen viivästyy (mikä jättää sinulta väliin lennon B: stä C: hen), sinulle maksetaan vakuutussumma. Normaalisti tämä toimii, jos lentosi viivästyy, haet vakuutuksen. Sitten joku henkilö tarkistaa ja hyväksyy vakuutuksen ja lopulta saat vakuutussumman. Mutta tämä on melko pitkä prosessi.



Kuinka voit käyttää älykkäitä sopimuksia vakuutusprosessin parantamiseen?

Rahoitustapahtumissa ja varsinkin kun saat rahaa, 'mitä nopeampi, sitä parempi', eikö olekin? Katsotaan siis, kuinka älykkäät sopimukset voivat vahvistaa vakuutusprosessia. Älykkäät sopimukset ovat digitaalisia sopimuksia, jotka toteutetaan automaattisesti, kun tietyt ehdot täyttyvät. Älykäs sopimus voidaan kirjoittaa maksamaan vakuutussumma ihmisille, jotka ovat valinneet lentojen viivästymisen, jos lento viivästyy. Joten kun lento viivästyy ja järjestelmä tallentaa tämän viiveen, vakuutus maksetaan välittömästi.

Hola! muutamassa sekunnissa maksettu vakuutussumma. Näin yksinkertaiset ja nopeat älykkäät sopimukset saavat prosessin tapahtumaan.

Älykkäiden sopimusten edut

Olet nähnyt yllä olevasta esimerkistä, kuinka älykäs sopimus voi vahvistaa talousprosesseja. Nopeiden tapahtumien lisäksi älykkäillä sopimuksilla on vielä joitain etuja. Tässä luetellaan joitain muita etuja älykkään sopimuksen käytöstä:

  • Automaattinen: Kaikki prosessin vaiheet tapahtuvat automaattisesti älykkäiden sopimusten kanssa
  • Ei välituotteita: Kun käytät älykkäitä sopimuksia, sinun ei tarvitse välituotetta työn suorittamiseen, koska kaikki hoidetaan älykkäillä sopimuksilla
  • Kustannustehokas: Älykkäiden sopimusten käyttäminen säästää rahaa pankkien perimillä transaktiomaksuilla ja välittäjien (jos sellaisia ​​on) palvelumaksuilla

Nyt kun tiedämme kuinka älykkäillä sopimuksilla voidaan tehdä maailmasta nopeampi paikka, pääsemme tämän Ethereum Smart Contract -opetusohjelman käytännön osaan.

Esivaatimusten asentaminen

Tähän Ethereum Smart Contract -oppaaseen vaaditaan 5 tärkeää sovellusta:

  • SolmuJS
  • NPM
  • Ethereum
  • Tryffeli
  • Vakavaraisuuden kääntäjä

NodeJS: n asentaminen

NodeJS on JavaScript Framework, jota käytetään palvelinsovellusten luomiseen. Koska käytämme yksityistä verkkoa, NodeJS helpottaa verkkosovelluksen rakentamista.

Asenna Nodejs suorittamalla seuraava komento päätelaitteessasi:

$ sudo apt-get install nodejs

NPM: n asentaminen

NPM on lyhenne sanoista Node Package Manager ja sitä käytetään Nodejs-sovellusten suorittamiseen.

Asenna NPM suorittamalla seuraava komento päätelaitteessasi:

$ sudo apt-get install npm

Ethereumin asentaminen

Ethereum on avoimen lähdekoodin ja julkinen blockchain-pohjainen, hajautettu tietokonealusta hajautettujen sovellusten rakentamiseen.

Asenna Ethereum suorittamalla seuraava komento päätelaitteessasi:

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

Tryffelin asentaminen

Tryffeli on Ethereum Blokchainsin kehitysympäristö, testauskehys ja omaisuusputki.

Asenna Truffle suorittamalla seuraava komento päätelaitteessasi:

$ npm asenna -g tryffeli

Solidity Compiler -ohjelman asentaminen

Solidity on ohjelmointikieli, jota käytetään älykkäiden sopimusten kirjoittamiseen. Älykkäiden sopimusten suorittamiseksi järjestelmässämme meidän on asennettava Solidity Compiler.

Asenna Solidity Compiler suorittamalla seuraava komento päätelaitteessasi:

$ sudo npm install -g solc

Genesis-lohkon määrittäminen

Genesis-lohko on Blockchainin aloituskohta ja tarvitsemme genesis-tiedoston Blockchainin käynnistämiseksi. Tässä Ethereum Smart Contract -sovelluksen osassa kirjoitamme Genesis-tiedoston ja määritämme sen sallimaan älykkäiden sopimusten suorittamisen.

Luodaan ensin uusi hakemisto ja sitten siihen hakemistoon genesis-tiedosto

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

Kirjoita nyt seuraavat rivit genesis.json tiedosto:

{'config': {'chainId': 2019, 'homesteadBlock': 0, 'eip155Block': 0, 'eip158Block': 0},'alloko': {}, 'vaikeus': '200' 'gasLimit': '99999999999999'}

Tallenna tämä ja poistu.

Ethereumin yksityisverkon käyttäminen

Tässä Etheruem Smart Contract -oppaassa otamme käyttöön Ethereum Smart Contract -sovelluksen yksityiseen verkkoon. Joten tämän verkon käynnistämiseksi käytämme seuraavaa komentoa:

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

Ennen kuin siirryt eteenpäin, selitän joitain tärkeitä lippuja, joita käytetään yllä olevassa komennossa:

datadir: Hakemisto, johon Blockchainiin liittyvät tiedot on tallennettu.

RPC: Ottaa käyttöön HTTP-RPC-palvelimen.

rpcport ja rpcaddr käytetään määrittämään verkon portti ja osoite.

rpcapi: Antaa meidän olla vuorovaikutuksessa Ethereum-verkon kanssa käyttämällä erilaisia ​​API: ita.

Gethin yhdistäminen Ethereumin yksityiseen lohkoketjuun

Geth-konsoli on konsoli, josta voimme olla yhteydessä Ethereumin yksityiseen lohkoketjuun. Yhdistä Geth Ethereum Private Blockchainiin avaamalla uusi pääte ja suorittamalla seuraava komento:

$ geth attach http://127.0.0.1:8543

Nyt olemme Geth-konsolissa, jossa voimme suorittaa komentoja vuorovaikutuksessa Blockchainin kanssa.

Ethereum-tilin luominen

Tarvitsemme tilin mihin tahansa tapahtumaan. Tässä Ethereum Smart Contract -opetusohjelman osassa näemme, miten luodaan uusi Ethereum-tili Geth-konsolista.

Seuraamalla tähänastisia vaiheita olemme jo Geth-konsolissa. Luo uusi tili suorittamalla seuraava komento Geth-konsolissa:

> personal.newAccount ('alkulause')

Korvata 'sanafraasi”Salasanalla, jonka haluat asettaa tälle tilille.

Olemme luoneet uuden tilin, mutta tällä tilillä ei ole eettereitä. Me tarvitsemmeeettereitä tekemään kauppoja ja saamaan eettereitätilillemme aloitamme eettereiden louhinnan. Kaivostoiminnan aloittamiseksi meidän on ensin avattava tili. Avataan tili ja aloitetaan kaivostoiminta.

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

Kaivostoiminnan jatkuessa jotkuteetterittalletetaan tälle tilille.

Huomautus : Nämä eetterit ovat nuket eetterit ja joilla ei ole todellista arvoa.

Tasapainon tarkistamiseksieetterittilillä suoritamme seuraavan komennon:

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

Kun suoritat tämän komennon säännöllisin väliajoin, huomaat, ettäeetteritlisääntyvät kaivostoiminnan vuoksi.

Lopeta kaivostoiminta suorittamalla seuraava komento:

> miner.stop ()

Ethereum Smart -sopimuksen luominen

Tryffeliprojektin luominen

Nyt kun yksityinen Blockchain on kaikki valmiina, näemme kuinka luoda Ethereum Smart -sopimus tryffelillä. Tätä opetusohjelmaa varten luomme yksinkertaisen 'Hello World' Ethereum Smart -sopimuksen.

Aloitetaan ensin luomalla uusi hakemisto Truffle-projektin tallentamiseksi. Ja sitten siinä hakemistossa luomme uuden tryffeliprojektin. Avaa uusi pääte ja suorita seuraavat komennot:

$ mkdir tryffeli $ cd tryffeli $ tryffeli init

tryffeli init -komento luo kaikki tryffeliprojektiin tarvittavat tiedostot.

Nyt kun meillä on kaikki valmiudet Ethereum Smart -sopimuksen käyttöönottoon, aloitetaan 'Hello World' Smart -sopimuksen kirjoittaminen.

'Hei maailma' älykkään sopimuksen kirjoittaminen

Kaikki sopimukset tulee kirjoittaa 'sopimukset' -hakemistoon. Siirtymme tähän hakemistoon ja luomme sopimuksen nimellä 'HelloWorld.sol' ja lisätään seuraavat rivit tähän tiedostoon:

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

Tämä se on! Tätä älykästä sopimusta ei kuitenkaan voida toteuttaa itse. Meidän on tehtävä sille joitain kokoonpanoja.

Tryffelien siirron määrittäminen

Älykkään sopimuksen siirtämiseksi meidän on lisättävä tiedosto 'Siirtymät' hakemistossa 'tryffeli' hakemistoon. Tähän hakemistoon lisätään tiedosto nimeltä '2_deploy_contracts.js' jossa on seuraava sisältö:

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

Tallenna ja poistu.

Jotta voisimme suorittaa tryffeleitä verkossa, meidän on muokattava tryffeli.js ”Tiedosto 'tryffeli' hakemistoon . Avaa tämä tiedosto ja tee seuraavat merkinnät:

module.exports = {rpc: {isäntä: 'localhost', portti: 8543}, verkot: {kehitys: {isäntä: 'localhost', portti: 8543, network_id: '*', lähde: '0xfa2361236b5ac8079cb6cf250e5284922ed9ba9a', kaasu: 20000000}}}

Huomautus: Korvata 'From' osoite edellisessä vaiheessa luomasi tilin osoitteen kanssa.

Ethereum Smart -sopimuksen toteuttaminen

Tässä viimeisessä Ethereum Smart Contract -opetusohjelman osiossa kerrotaan, kuinka 'Hello World'-älykäs sopimus otetaan käyttöön Ethereum Private Network -verkostossamme.

Älykkään sopimuksen laatiminen ja käyttöönotto

Ennen kuin voimme toteuttaa älykkään sopimuksen, meidän on ensin koottava ja käytettävä sitä Ethereum Private Network -verkkoomme. Teemme tämän seuraavilla komennoilla:

$ tryffeli kääntää

Nyt meidän on avattava tilimme lukitus ja aloitettava kaivostoiminta. Palaa päätelaitteeseen Geth-konsolilla ja suorita seuraava komento:

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

ja palaa sitten takaisin terminaaliin, jolla on 'tryffeli' nykyisenä työkirjana jajuostaseuraava komento:

$ tryffeli siirtyy

Odota, että käyttöönotto on valmis.

Älykkään sopimuksen toteuttaminen yksityisellä Ethereum-lohkoketjulla

'Hello World' älykkään sopimuksen toteuttamiseksi meidän on tehtävä tryffelikonsoli. Suorita seuraava komento tehdäksesi tämän:

$ tryffelikonsoli

Olet nyt tryffelikonsolissa. Suorita älykäs sopimus suorittamalla seuraava komento:

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

Onnittelut! Olet luonut ensimmäisen Ethereum Smart -sopimuksen ja suorittanut sen. Toivon, että tämä Ethereum Smart Contract -opetusohjelma oli informatiivinen ja auttoi sinua ymmärtämään Ethereum Smart -sopimuksen toteuttamista. Mene nyt ja yritä kirjoittaa muita älykkäitä sopimuksia ja suorittaa ne.

Onko sinulla kysymys meille? Ole hyvä ja lähetä se ja palaamme sinuun.

kuinka muuntaa merkkijono päivämääräksi java

Jos haluat oppia Blockchainia ja rakentaa uraa Blockchain Technologiesissa, tutustu meidän joka sisältää ohjaajan vetämän live-koulutuksen ja tosielämän projektikokemuksen. Tämä koulutus auttaa sinua ymmärtämään, mikä on Blockchain, tyhjentävästi ja auttaa sinua hallitsemaan aihetta.