Ethereum Smart Contract - Jak wykonać Smart Contract?



W tym samouczku dotyczącym inteligentnego kontraktu Ethereum dowiesz się, jak utworzyć, wdrożyć i wykonać inteligentny kontrakt za pomocą sieci prywatnej Truffle i Ethereum.

Głównym powodem, dla którego technologia Blockchain znalazła się wśród najlepszych technologii, jest jej zdecentralizowany charakter. Chociaż głównym celem Blockchain było przechowywanie rekordów transakcji bez organu centralnego, aby to zautomatyzować, Inteligentne kontrakty zostali wprowadzeni. Ale co potem ? W tym samouczku dotyczącym inteligentnych kontraktów Ethereum zobaczymy, jak używać Truffle Ethereum i Sieć prywatna Ethereum zawrzeć inteligentny kontrakt.

Jesteś zainteresowany rozwojem Ethereum? Sprawdź to na żywo .





W tym samouczku dotyczącym inteligentnych kontraktów Ethereum przyjrzymy się następującym tematom:

  1. Przykład zastosowania: inteligentne kontrakty w procesie ubezpieczeniowym
  2. Korzyści z inteligentnych kontraktów
  3. Instalowanie wymagań wstępnych
  4. Konfiguracja bloku Genesis
  5. Uruchamianie sieci prywatnej Ethereum
  6. Tworzenie konta Ethereum
  7. Tworzenie inteligentnego kontraktu Ethereum
  8. Wykonywanie inteligentnego kontraktu Ethereum

Przykład zastosowania: inteligentne kontrakty w procesie ubezpieczeniowym

Blockchain podąża za „brakiem organu centralnego” i to jest powód wprowadzenia inteligentnych kontraktów. Ale czy kiedykolwiek zastanawiałeś się, jak można wykorzystać inteligentną umowę? Cóż, w tej sekcji inteligentnej umowy Ethereum wyjaśnię przypadek użycia inteligentnej umowy w procesie ubezpieczeniowym.



Rozważmy przykład ubezpieczenia opóźnienia lotu. Załóżmy, że chcesz odbyć lot ze źródła A do miejsca docelowego C, ale nie masz bezpośredniego lotu. Decydujesz się więc na lot łączony (przez B). Teraz Twoja trasa będzie przebiegać z A do B, a następnie z B do C, gdzie B to lotnisko, na którym będziesz przesiadać się. Niestety, między lotami z A do B iz B do C nie ma zbyt dużej przerwy czasowej, więc jeśli przypadkiem lot z A do B jest opóźniony, przegapisz lot z B do C. zdaj sobie z tego sprawę i aby uchronić się przed poważną stratą, bierzesz ubezpieczenie od opóźnienia lotu.

Ubezpieczenie opóźnienia lotu - Edureka

Teraz, jeśli Twój lot z A do B jest opóźniony (co spowoduje, że spóźnisz się na lot z B do C), zostanie Ci wypłacona kwota ubezpieczenia. Zwykle to działa, jeśli Twój lot jest opóźniony, ubiegasz się o ubezpieczenie. Następnie jakaś osoba zweryfikuje i zatwierdzi ubezpieczenie, a na koniec otrzymasz kwotę ubezpieczenia. Ale to dość długi proces.



W jaki sposób możesz wykorzystać inteligentne kontrakty, aby usprawnić proces ubezpieczenia?

Jeśli chodzi o transakcje finansowe, a zwłaszcza przy zdobywaniu pieniędzy, „im szybciej, tym lepiej”, prawda? Zobaczmy więc, jak inteligentne kontrakty mogą przyspieszyć proces ubezpieczenia. Inteligentne kontrakty to kontrakty cyfrowe, które są automatycznie realizowane po spełnieniu określonych warunków. Można sporządzić inteligentną umowę w celu wypłaty kwoty ubezpieczenia osobom, które wybrały ubezpieczenie opóźnienia lotu, jeśli lot jest opóźniony. Tak więc, gdy lot jest opóźniony i to opóźnienie jest rejestrowane przez system, ubezpieczenie jest wypłacane natychmiast.

Hola! kwota ubezpieczenia opłacona w kilka sekund. W ten sposób proste i szybkie inteligentne kontrakty sprawiają, że proces się odbywa.

Korzyści z inteligentnych kontraktów

W powyższym przykładzie widziałeś, jak Smart Contract może przyspieszyć procesy finansowe. Oprócz szybkich transakcji, inteligentne kontrakty mają też inne zalety. Tutaj wymieniam kilka innych korzyści wynikających z używania Smart Contract:

  • Automatyczny: Wszystkie etapy procesu są wykonywane automatycznie dzięki Smart Contracts
  • Brak półproduktów: Korzystając z inteligentnych kontraktów, nie potrzebujesz pośrednika, aby wykonać pracę, ponieważ wszystko będzie obsługiwane przez inteligentne kontrakty
  • Opłacalny: Korzystanie z inteligentnych kontraktów pozwoli Ci zaoszczędzić pieniądze na opłatach transakcyjnych pobieranych przez banki i opłatach za usługi pobieranych przez pośredników (jeśli takie istnieją)

Teraz, gdy wiemy, jak można wykorzystać inteligentne kontrakty, aby uczynić świat szybszym miejscem, przejdźmy do praktycznej części tego samouczka dotyczącego inteligentnych kontraktów Ethereum.

Instalowanie wymagań wstępnych

W tym samouczku dotyczącym inteligentnego kontraktu Ethereum będziemy potrzebować 5 ważnych aplikacji:

  • NodeJS
  • NPM
  • Ethereum
  • Trufla
  • Kompilator solidności

Instalowanie NodeJS

NodeJS to struktura JavaScript używana do tworzenia aplikacji serwerowych. Ponieważ używamy sieci prywatnej, NodeJS ułatwi tworzenie aplikacji sieciowej.

Aby zainstalować Nodejs, uruchom następujące polecenie w swoim terminalu:

$ sudo apt-get install nodejs

Installing NPM

NPM to skrót od Node Package Manager i służy do uruchamiania aplikacji Nodejs.

Aby zainstalować NPM, uruchom następującą komendę w swoim terminalu:

$ sudo apt-get install npm

Instalowanie Ethereum

Ethereum to rozproszona platforma obliczeniowa oparta na technologii blockchain o otwartym kodzie źródłowym i publiczna służąca do tworzenia zdecentralizowanych aplikacji.

Aby zainstalować Ethereum, uruchom następujące polecenie w swoim terminalu:

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

Instalowanie trufli

Truffle to środowisko programistyczne, platforma testowa i potok aktywów dla Ethereum Blokchains.

Aby zainstalować Truffle, uruchom następujące polecenie w swoim terminalu:

$ npm install -g truffle

Instalowanie kompilatora Solidity

Solidity to język programowania używany do pisania inteligentnych kontraktów. Aby uruchomić inteligentne kontrakty w naszym systemie, musimy zainstalować Solidity Compiler.

Aby zainstalować Solidity Compiler, uruchom następujące polecenie w swoim terminalu:

$ sudo npm install -g solc

Konfiguracja bloku Genesis

Blok Genesis jest punktem początkowym Blockchain i potrzebujemy pliku Genesis, aby uruchomić Blockchain. W tej sekcji Ethereum Smart Contract napiszemy plik Genesis i skonfigurujemy go tak, aby umożliwić nam uruchamianie Smart Contracts.

Najpierw utwórzmy nowy katalog, a następnie w tym katalogu utworzymy plik plik genesis

różnica między aws a azure
$ mkdir ethereum-network $ cd ethereum-network $ nano genesis.json

Teraz wprowadź następujące wiersze w genesis.json plik:

{'config': {'chainId': 2019, 'homesteadBlock': 0, 'eip155Block': 0, 'eip158Block': 0},'przydziel': {}, 'trudność': '200' 'gasLimit': '99999999999999'}

Zapisz to i wyjdź.

Uruchamianie sieci prywatnej Ethereum

W tym samouczku dotyczącym inteligentnego kontraktu Etheruem wdrożymy inteligentny kontrakt Ethereum w sieci prywatnej. Tak więc, aby uruchomić tę sieć, użyjemy następującego polecenia:

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

Zanim przejdę dalej, wyjaśnię kilka ważnych flag używanych w powyższym poleceniu:

datadir: Katalog, w którym przechowywane są dane związane z Blockchain.

rpc: Włącza serwer HTTP-RPC.

rpcport i rpcaddr służą do ustawiania odpowiednio portu i adresu sieci.

rpcapi: Umożliwia nam interakcję z siecią Ethereum przy użyciu różnych interfejsów API.

Łączenie Getha z prywatnym Blockchainem Ethereum

Konsola geth to konsola, z której możemy wchodzić w interakcję z Ethereum Private Blockchain. Aby podłączyć Getha do prywatnego łańcucha blokowego Ethereum, otwórz nowy terminal i uruchom poniższe polecenie:

$ geth załącz http://127.0.0.1:8543

Teraz jesteśmy w konsoli Geth, w której możemy uruchamiać polecenia do interakcji z Blockchain.

Tworzenie konta Ethereum

Aby dokonać jakiejkolwiek transakcji, potrzebujemy konta. W tej sekcji samouczka Ethereum Smart Contract zobaczymy, jak utworzyć nowe konto Ethereum z poziomu konsoli Geth.

Postępując zgodnie z dotychczasowymi krokami, jesteśmy już w konsoli Geth. Aby utworzyć nowe konto, uruchom następujące polecenie w konsoli Geth:

> personal.newAccount ('seedphrase')

Zastąpić 'zdanie nasienne”Z hasłem, które chcesz ustawić dla tego konta.

Utworzyliśmy nowe konto, ale to konto nie ma eterów. Potrzebujemyetery do dokonywania transakcji i zdobywania eterówna nasze konto zaczniemy wydobywać etery. Aby rozpocząć wydobywanie, musimy najpierw odblokować konto. Odblokujmy konto i zacznijmy kopać.

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

Ponieważ wydobycie trwa, niektórzyeteryzostaną zdeponowane na tym koncie.

Uwaga : Te etery są atrapy etery i nie mają wartości w świecie rzeczywistym.

Aby sprawdzić saldoeteryna koncie uruchomimy następujące polecenie:

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

Po uruchomieniu tego polecenia w regularnych odstępach czasu zobaczysz, że pliketeryrosną z powodu wydobycia.

Aby zatrzymać wydobywanie, uruchom następujące polecenie:

> miner.stop ()

Tworzenie inteligentnego kontraktu Ethereum

Tworzenie projektu Truffle

Teraz, gdy nasz prywatny Blockchain jest już gotowy, zobaczymy, jak utworzyć inteligentny kontrakt Ethereum za pomocą Truffle. Na potrzeby tego samouczka utworzymy prostą inteligentną umowę Ethereum „Hello World”.

Aby zacząć od tego, najpierw stwórzmy nowy katalog do przechowywania projektu Truffle. A następnie w tym katalogu utworzymy nowy projekt Truffle. Otwórz nowy terminal i uruchom poniższe polecenia:

$ mkdir trufla $ cd trufla $ trufla init

Plik init trufli polecenie utworzy wszystkie niezbędne pliki wymagane dla projektu truflowego.

Teraz, gdy mamy już wszystko, co potrzebne do wdrożenia inteligentnego kontraktu Ethereum, przejdźmy do napisania inteligentnego kontraktu „Hello World”.

Pisanie inteligentnego kontraktu „Hello World”

Wszystkie umowy powinny być zapisane w katalogu „kontrakty”. Przejdziemy do tego katalogu i utworzymy kontrakt o nazwie „HelloWorld.sol” i dodamy następujące wiersze w tym pliku:

solidność pragmy ^ 0.4.15 kontrakt HelloWorld {string public message function Hello () public {message = 'Hello World!' }}

To jest to! Ale tego inteligentnego kontraktu nie można wykonać samodzielnie. Będziemy musieli zrobić dla niego kilka konfiguracji.

Konfigurowanie migracji Truffle

Aby przeprowadzić migrację naszego Smart Contract, będziemy musieli dodać plik w formacie „Migracje” katalog w 'trufla' informator. W tym katalogu dodamy plik o nazwie „2_deploy_contracts.js” z następującą zawartością:

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

Zapisz i wyjdź.

Aby uruchomić trufle w naszej sieci, musimy edytować „ truffle.js ”W pliku 'trufla' informator . Otwórz ten plik i wprowadź następujące wpisy:

module.exports = {rpc: {host: 'localhost', port: 8543}, networks: {programowanie: {host: 'localhost', port: 8543, network_id: '*', from: '0xfa2361236b5ac8079cb6cf250e5284922ed9ba9a', gas: 20000000}}}

Uwaga: Zastąpić 'od' adres wraz z adresem konta utworzonego w poprzednim kroku.

Wykonywanie inteligentnego kontraktu Ethereum

W ostatniej sekcji samouczka Ethereum Smart Contract, zobaczymy, jak wdrożyć naszą inteligentną umowę „Hello World” w naszej prywatnej sieci Ethereum.

Kompilowanie i wdrażanie Smart Contract

Zanim będziemy mogli wykonać naszą inteligentną umowę, musimy najpierw skompilować ją i wdrożyć w naszej prywatnej sieci Ethereum. Zrobimy to za pomocą następujących poleceń:

$ truffle compile

Teraz musimy odblokować nasze konto i rozpocząć wydobywanie. Wróć do terminala za pomocą konsoli Geth i uruchom następującą komendę:

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

a następnie wróć do terminala, który ma 'trufla' jako obecny katalog roboczy ibiegaćnastępujące polecenie:

$ truffle migrate

Poczekaj na zakończenie wdrażania.

Wykonywanie inteligentnego kontraktu na prywatnym łańcuchu blokowym Ethereum

Aby wykonać inteligentny kontrakt „Hello World”, będziemy musieli wejść do konsoli truflowej. Aby to zrobić, uruchom następujące polecenie:

podstawowa struktura programu java
Konsola truflowa $

Będziesz teraz w konsoli trufli. Aby wykonać Smart Contract, uruchom następujące polecenie:

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

Gratulacje! Utworzyłeś swój pierwszy inteligentny kontrakt Ethereum i wykonałeś go. Mam nadzieję, że ten samouczek dotyczący inteligentnego kontraktu Ethereum był pouczający i pomógł ci zrozumieć, jak wykonać inteligentny kontrakt Ethereum. Teraz idź dalej i spróbuj napisać inne inteligentne kontrakty i wykonać je.

Masz do nas pytanie? Proszę opublikuj to na a my skontaktujemy się z Tobą.

Jeśli chcesz nauczyć się Blockchain i zbudować karierę w technologiach Blockchain, sprawdź nasze który obejmuje szkolenie na żywo prowadzone przez instruktora i rzeczywiste doświadczenie projektowe. To szkolenie pomoże ci w wyczerpujący sposób zrozumieć, czym jest Blockchain i pomoże ci osiągnąć mistrzostwo w tym temacie.