Смарт-контракт Ethereum - как выполнить смарт-контракт?



В этом руководстве по смарт-контракту Ethereum вы узнаете, как создать, развернуть и выполнить смарт-контракт с использованием частной сети Truffle и Ethereum.

Основная причина, по которой технология Blockchain заняла свое место среди лучших технологий, заключается в ее децентрализованном характере. Хотя основной целью блокчейна было ведение записей транзакций без центрального органа, автоматизация этого, Смарт-контракты были представлены. Но что после ? В этом руководстве по смарт-контракту Ethereum мы увидим, как использовать Трюфель Эфириум и Частная сеть Ethereum для выполнения смарт-контракта.

Заинтересованы в разработке Ethereum? Посмотрите это в прямом эфире .





В этом руководстве по смарт-контракту Ethereum мы рассмотрим следующие темы:

  1. Пример использования: смарт-контракты в процессе страхования
  2. Преимущества смарт-контрактов
  3. Установка предварительных требований
  4. Настройка Genesis Block
  5. Запуск частной сети Ethereum
  6. Создание учетной записи Ethereum
  7. Создание смарт-контракта Ethereum
  8. Выполнение смарт-контракта Ethereum

Пример использования: смарт-контракты в процессе страхования

«Отсутствие центрального органа» - это то, чему следует блокчейн, и именно поэтому были введены смарт-контракты. Но задумывались ли вы, как можно использовать смарт-контракт? Что ж, в этом разделе смарт-контракта Ethereum я объясню пример использования смарт-контракта в процессе страхования.



Давайте рассмотрим пример страхования от задержки рейса. Предположим, вы хотите сесть на рейс из источника A в пункт назначения C, но у вас нет прямого рейса. Итак, вы решили сесть на стыковочный рейс (через B). Теперь ваш маршрут будет из A в B, а затем из B в C, где B - аэропорт, в котором вы будете менять рейсы. К сожалению, у вас не так много времени между рейсами из A в B и из B в C. Так что, если по какой-либо причине рейс из A в B задерживается, вы пропустите рейс из B в C. осознайте это и, чтобы спастись от тяжелой потери, вы оформляете страхование задержки рейса.

Страхование задержки рейса - Edureka

Теперь, если ваш рейс из A в B задерживается (из-за чего вы опоздаете на рейс из B в C), вам будет выплачена страховая сумма. Обычно это работает, если ваш рейс задерживается, вы требуете страховку. Затем кто-то там проверит и утвердит страховку, и, наконец, вы получите свою страховую сумму. Но это довольно длительный процесс.



Как можно использовать смарт-контракты для улучшения процесса страхования?

Когда дело доходит до финансовых транзакций, особенно когда вы получаете деньги, «чем быстрее, тем лучше», не так ли? Итак, давайте посмотрим, как смарт-контракты могут ускорить процесс страхования. Смарт-контракты - это цифровые контракты, которые автоматически исполняются при выполнении определенных условий. Смарт-контракт может быть составлен для выплаты страховой суммы людям, выбравшим страховку от задержки рейса, если рейс задерживается. Таким образом, если рейс задерживается и эта задержка фиксируется системой, страховка выплачивается немедленно.

Привет! страховая сумма выплачивается за несколько секунд. Вот как простые и быстрые смарт-контракты делают процесс возможным.

Преимущества смарт-контрактов

В приведенном выше примере вы видели, как смарт-контракт может ускорить финансовые процессы. Помимо быстрых транзакций, смарт-контракты имеют еще несколько преимуществ. Здесь я перечисляю некоторые другие преимущества использования смарт-контракта:

  • Автоматический: Все этапы процесса со смарт-контрактами происходят автоматически.
  • Без промежуточных звеньев: Когда вы используете смарт-контракты, вам не нужно промежуточное звено для выполнения работы, поскольку все будет обрабатываться смарт-контрактами.
  • Экономически эффективным: Использование смарт-контрактов сэкономит вам деньги на комиссионных за транзакции, взимаемых банками, и на комиссии за услуги посредников (если таковые имеются)

Теперь, когда мы знаем, как можно использовать смарт-контракты, чтобы сделать мир более быстрым, давайте перейдем к практической части этого руководства по смарт-контрактам Ethereum.

Установка предварительных требований

Для этого руководства по смарт-контракту Ethereum нам потребуются 5 важных приложений:

  • NodeJS
  • NPM
  • Ethereum
  • Трюфель
  • Компилятор Solidity

Установка NodeJS

NodeJS - это платформа JavaScript, которая используется для создания серверных приложений. Поскольку мы используем частную сеть, NodeJS упростит создание сетевого приложения.

Чтобы установить Nodejs, выполните в терминале следующую команду:

$ sudo apt-get install nodejs

Установка NPM

NPM расшифровывается как Node Package Manager и используется для запуска приложений Nodejs.

Чтобы установить NPM, выполните в своем терминале следующую команду:

$ sudo apt-get install npm

Установка Ethereum

Ethereum это платформа распределенных вычислений с открытым исходным кодом и общедоступной цепочкой блоков для создания децентрализованных приложений.

Чтобы установить Ethereum, выполните в терминале следующую команду:

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

Установка Truffle

Truffle - это среда разработки, среда тестирования и конвейер активов для блокчейнов Ethereum.

Чтобы установить Truffle, выполните в своем терминале следующую команду:

$ npm install -g трюфель

Установка компилятора Solidity

Solidity - это язык программирования, используемый для написания смарт-контрактов. Чтобы запускать смарт-контракты в нашей системе, мы должны установить Solidity Compiler.

Рекурсия Фибоначчи в c ++

Чтобы установить компилятор Solidity, выполните в терминале следующую команду:

$ sudo npm install -g solc

Настройка Genesis Block

Блок Genesis - это начальная точка цепочки блоков, и нам нужен файл происхождения, чтобы запустить цепочку блоков. В этом разделе смарт-контракта Ethereum мы напишем файл Genesis и настроим его, чтобы мы могли запускать смарт-контракты.

Давайте сначала создадим новый каталог, а затем в этом каталоге мы создадим файл genesis

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

Теперь введите следующие строки в genesis.json файл:

{'config': {'chainId': 2019, 'homesteadBlock': 0, 'eip155Block': 0, 'eip158Block': 0},'alloc': {}, 'сложность': '200' 'gasLimit': '99999999999999'}

Сохраните это и выйдите.

Запуск частной сети Ethereum

В этом руководстве по смарт-контракту Etheruem мы развернем смарт-контракт Ethereum в частной сети. Итак, чтобы запустить эту сеть, мы будем использовать следующую команду:

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

Прежде чем двигаться дальше, позвольте мне объяснить некоторые важные флаги, используемые в приведенной выше команде:

datadir: Каталог, в котором хранятся данные, относящиеся к цепочке блоков.

rpc: Включает сервер HTTP-RPC.

rpcport и rpcaddr используются для установки порта и адреса сети соответственно.

rpcapi: Позволяет нам взаимодействовать с сетью Ethereum с использованием различных API.

Подключение Geth к частной цепочке блоков Ethereum

Консоль Geth - это консоль, с которой мы можем взаимодействовать с приватным блокчейном Ethereum. Чтобы подключить Geth к частной цепочке блоков Ethereum, откройте новый терминал и выполните следующую команду:

$ geth attach http://127.0.0.1:8543

Теперь мы находимся в консоли Geth, где можем запускать команды для взаимодействия с Blockchain.

Создание учетной записи Ethereum

Для совершения любой транзакции нам необходим аккаунт. В этом разделе руководства по смарт-контракту Ethereum мы увидим, как создать новую учетную запись Ethereum из консоли Geth.

Следуя приведенным выше инструкциям, мы уже находимся в консоли Geth. Чтобы создать новую учетную запись, выполните следующую команду в консоли Geth:

> personal.newAccount ('исходная фраза')

Заменить 'исходная фраза»С паролем, который вы хотите установить для этой учетной записи.

Мы создали новую учетную запись, но в ней нет эфиров.. Нам нужноэфиры для совершения любых транзакций и получения эфировна наш счет мы начнем майнить эфиры. Чтобы начать майнинг, нам нужно сначала разблокировать аккаунт. Разблокируем аккаунт и приступим к майнингу.

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

Поскольку майнинг продолжается, некоторыеэфирыбудут зачислены на этот счет.

Заметка : Эти эфиры фиктивные эфиры и не имеют реальной ценности.

Проверить балансэфирыв аккаунте запустим следующую команду:

> web3.fromWei (eth.getBalance (eth.coinbase), 'эфир')

Когда вы запускаете эту команду через регулярные промежутки времени, вы увидите, чтоэфирыувеличиваются за счет добычи.

Чтобы остановить майнинг, выполните следующую команду:

> miner.stop ()

Создание смарт-контракта Ethereum

Создание проекта Truffle

Теперь, когда у нас есть готовый частный блокчейн, мы увидим, как создать смарт-контракт Ethereum с помощью Truffle. В этом уроке мы создадим простой смарт-контракт Ethereum «Hello World».

Для начала давайте сначала создадим новый каталог для хранения проекта Truffle. А затем в этом каталоге мы создадим новый проект Truffle. Откройте новый терминал и выполните следующие команды:

$ mkdir truffle $ cd truffle $ трюфель init

В трюфель инициализация команда создаст все необходимые файлы, необходимые для проекта трюфеля.

Теперь, когда у нас есть все для развертывания смарт-контракта Ethereum, приступим к написанию смарт-контракта «Hello World».

Написание смарт-контракта «Hello World»

Все контракты должны быть записаны в справочнике «контракты». Мы переключимся в этот каталог и создадим контракт с именем «HelloWorld.sol» и добавим в этот файл следующие строки:

pragma solidity ^ 0.4.15 контракт HelloWorld {строка общедоступная функция сообщения Hello () public {message = 'Hello World!' }}

Это оно! Но этот смарт-контракт не может быть выполнен сам по себе. Нам нужно будет сделать для него некоторые настройки.

Настройка миграции Truffle

Чтобы перенести наш смарт-контракт, нам нужно будет добавить файл в «Миграции» каталог в 'трюфель' каталог. В этот каталог мы добавим файл с именем «2_deploy_contracts.js» со следующим содержанием:

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

Сохранить и выйти.

Чтобы запустить трюфель в нашей сети, нам нужно отредактировать « truffle.js Файл в 'трюфель' каталог . Откройте этот файл и сделайте следующие записи:

module.exports = {rpc: {host: 'localhost', порт: 8543}, сети: {разработка: {host: 'localhost', порт: 8543, network_id: '*', от: '0xfa2361236b5ac8079cb6cf250e5284922ed9ba9a', gas: 20000000}}}

Заметка: Заменить 'от' адрес с адресом учетной записи, которую вы создали на предыдущем шаге.

Выполнение смарт-контракта Ethereum

В этом последнем разделе руководства по смарт-контракту Ethereum мы увидим, как развернуть наш смарт-контракт «Hello World» в нашей частной сети Ethereum.

Компиляция и развертывание смарт-контракта

Прежде чем мы сможем выполнить наш смарт-контракт, мы должны сначала скомпилировать и развернуть его в нашей частной сети Ethereum. Сделаем это с помощью следующих команд:

компилировать $ трюфель

Теперь нам нужно разблокировать нашу учетную запись и начать майнинг. Вернитесь в терминал с помощью консоли Geth и выполните следующую команду:

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

а затем вернитесь к терминалу, на котором 'трюфель' как настоящий рабочий каталог ибегатьследующая команда:

$ трюфель миграция

Дождитесь завершения развертывания.

Выполнение смарт-контракта на частном блокчейне Ethereum

Чтобы выполнить смарт-контракт «Hello World», нам нужно будет войти в консоль трюфеля. Для этого выполните следующую команду:

консоль $ трюфель

Теперь вы окажетесь в консоли трюфелей. Чтобы выполнить смарт-контракт, выполните следующую команду:

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

Поздравляю! Вы создали свой первый смарт-контракт Ethereum и выполнили его. Я надеюсь, что это руководство по смарт-контракту Ethereum было информативным и помогло вам понять, как выполнить смарт-контракт Ethereum. Теперь продолжайте и попробуйте написать другие смарт-контракты и выполнить их.

Есть вопрос к нам? Пожалуйста, разместите это на и мы свяжемся с вами.

Если вы хотите изучить Blockchain и построить карьеру в Blockchain Technologies, ознакомьтесь с нашими который включает в себя живое обучение под руководством инструктора и опыт реальных проектов. Этот тренинг поможет вам исчерпывающе понять, что такое блокчейн, и поможет вам достичь мастерства в этом предмете.