Опубликован: 28.01.2018 | Доступ: свободный | Студентов: 924 / 143 | Длительность: 06:54:00
Лекция 2:

Работа с MetaMask. Децентрализация приложения

< Лекция 1 || Лекция 2: 123 || Лекция 3 >

Как получить эфир для тестовой сети Rinkeby

Чтобы получить некоторое количество эфира для использования в тестовой сети Rinkeby, потребуется открыть веб-сайт http://rinkeby.io.


В его нижнем левом углу расположена иконка Crypto Faucet, при щелчке по которой разъясняется, как можно получить эфир на счет Rinkeby.


Для получения эфира достаточно опубликовать номер своего счета в Twitter, Google Plus или Facebook, а затем скопировать адрес веб-страницы с публикацией в форму на сайте rinkeby.io. Эти меры предосторожности необходимы для защиты от автоматического массового получения эфира.

Теперь зайдем в учетную запись Twitter.


скопируем адрес счета из MetaMask,


введем в поле для публикации нового твита, допишем комментарий,


затем скопируем ссылку на твит.



То же самое можно сделать и с помощью Facebook, единственное, в чем нужно убедиться - это должен быть публичный пост. Так, запрос на выделение эфира был размещен.


Для корректной работы системы начисления эфира потребуется отключение блокировщика рекламы. Теперь убедимся, что запрос на выделение эфира был удовлетворен; через пару секунд на счету должен появиться эфир.


Наличие на счету эфира можно проверить с помощью сервиса Etherscan.

Пересылка эфира с помощью MetaMask

Теперь попробуем выполнить пересылку эфира между счетами с помощью MetaMask. Допустим, что на счете номер восемь есть три единицы эфира.


Необходимо переслать часть этих средств на счет номер шесть.


Скопируем адрес счета номер шесть, переключимся на счет номер восемь и отправим 0,2 единицы эфира.


Щелкнем по Next, посмотрим на транзакцию и отправим ее в блокчейн.


Статус транзакции можно проверить с помощью сервиса Etherscan.


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


Взаимодействие MetaMask и браузера

Следующей возможностью MetaMask является взаимодействие с блокчейном посредством веб-сайта. В этом случае веб-сайт подключается к MetaMask, MetaMask - к блокчейну с помощью сервиса Infura, а Infura, в свою очередь, содержит в себе запущенный клиент Geth. Позднее, когда будем разбирать тему подключения к блокчейну из браузера, данная схема будет рассмотрена подробнее - для нее возможны несколько реализаций. На текущем этапе достаточно посмотреть, что происходит в надстройке MetaMask, когда вы пытаетесь взаимодействовать с блокчейном. Откроем среду Remix, здесь есть простой смарт-контракт.


В правой стороне окна Remix видно, что в качестве опорной библиотеки выбрана Web3.


Надстройка MetaMask подключается непосредственно к окну браузера и таким образом обеспечивает связь с блокчейном. В раскрывающемся списке выбрана Injected Web3, а в окне разработки, доступном для любой веб-страницы, видно, что с помощью объекта web3.currentProvider можно работать с надстройкой MetaMask посредством обычного кода JavaScript.



Выберем Injected Web3, затем счет - тот же самый, который открыт в надстройке MetaMask. Теперь можно перейти на вкладку Run и создать контракт.


Отследим всю цепочку: контракт, написанный в среде Remix на языке JavaScript, исполняется, надстройка MetaMask отслеживает эту транзакцию и открывает всплывающее окно для подтверждения создания контракта.


Для этой процедуры потребуется израсходовать немного газа. После подтверждения MetaMask отправляет транзакцию в блокчейн.


MetaMask располагает некоторым числом узлов сети, расположенных на серверах разработчиков, которые играют роль посредника между вашим браузером и блокчейном. Если вы хотите создать и использовать свой собственный блокчейн, потребуется один из клиентов: Geth, Parity, Mist. Mist обеспечивает интегрированный в браузер доступ к блокчейну, а Geth - это работающий на вашем компьютере клиент, загружающий все блоки и предоставляющий к ним непосредственный доступ. Успешность завершения транзакции подтверждается обсчитанными блоками.


< Лекция 1 || Лекция 2: 123 || Лекция 3 >
Алексей Миронов
Алексей Миронов

Здравствуйте, сколько стоит курс Работа с Ethereum?