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

Знакомство с Remix - web-среда Solidity IDE. Понимание основ среды Ethereum

Экосистема платформы Ethereum, распределенные приложения и ДАО

Эта лекция посвящена платформе Ethereum. Узнаем, что такое распределенные приложения и демократические автономные организации, с описанием которых можно ознакомиться на веб-сайте http://ethereum.org. Начнем с распределенных приложений. В отличие от традиционной архитектуры, в которой одна программа запускается на сервере и ждет, пока другая программа к ней подключится, в среде распределенных приложений они работают на всех серверах и всех узлах сети одновременно. В следующих разделах расскажем, как программировать такие распределенные приложения и размещать их в блокчейне. Распределенные приложения работают на так называемых виртуальных машинах Ethereum, а для их создания используются несколько высокоуровневых языков программирования, например, Solidity. Эти языки чем-то напоминают ассемблер, поскольку программы на них состоят из нескольких кодов операций, которые и запускаются на виртуальной машине Ethereum в блокчейне.

Платформа Ethereum также поддерживает свой официальный бумажник - Mist. В этом приложении можно создавать счета, заключать контракты или добавлять уже размещенные контракты и взаимодействовать с ними. Эти контракты, как и другие распределенные приложения, пишутся на высокоуровневых языках программирования, например, на Solidity. На текущий момент это самый продвинутый и наиболее широко используемый язык программирования для этой среды, хотя есть и другие реализации, которые будут рассмотрены в следующих лекциях. Запущенные распределенные приложения работают непосредственно в блокчейне, и поэтому не существует единой силы или организации, способной вывести работающее приложение из строя. Одной из самых значительных сфер применения распределенных приложений является финансовая сфера. Если ваше приложение запущено в блокчейне, можно быть уверенным, что никакое правительство или другая сила не смогут отключить его или отредактировать код. Когда приложение размещено в блокчейне, его можно изменить только с помощью внутренней инструкции в его собственном коде. Например, вы можете развернуть в блокчейне краудфандинговую кампанию, в которой и само приложение, и собираемые денежные средства будут храниться в блокчейне, а между ними не будет какой-либо прослойки.

Эта же идея лежит в основе демократических автономных организаций, или ДАО. ДАО - это виртуальная организация, члены которой могут голосовать по определенным вопросам. Деятельность таких организаций прозрачна и основана целиком на голосах участников. После того, как голос был отдан и размещен в блокчейне, его уже нельзя изменить. Это напоминает государство с неизменяемой конституцией, и всё это описано в программном коде. В этой области уже есть ряд выдающихся проектов, с некоторыми из них можно ознакомиться на веб-сайте EtherCasts. Ссылку на него можно найти в разделе распределенных приложений DApps, а далее перейти на ethercasts.com. Есть и целый ряд инструментов для командной строки. Один из самых известных клиентов написан на языке Go и называется Go Ethereum, или просто Geth. Для платформы Ethereum есть еще много различных полезных ресурсов, а также мощная поддержка сообщества. Кроме собственно сайта и блога на нем, можно пойти на форум Reddit и задать интересующие вопросы. Можно принимать участие в обсуждениях на Stack Exchange. Можно также посетить Meetups или отправиться на конференции вроде Devcon, проходящей в Шанхае.

Что такое кошелек Mist и как он работает

Для платформы Ethereum существует несколько веб-кошельков. Mist, приложение с открытым исходным кодом, имеет статус официального. Его можно загрузить через веб-сайт http://github.com/Ethereum/mist.


По этой ссылке можно найти инструкции по установке для всех типов операционных систем. Mist работает на Windows, на Mac OS и на Linux. Mist позволяет управлять своими счетами, отправлять валюту, запускать и добавлять новые контракты, просматривать списки последних транзакций.


В следующих разделах будем работать с Mist и разберем, как другие инструменты для командной строки взаимодействуют с Mist и блокчейном в целом.

Разбираемся, что такое эфир и какие есть типы счетов

В среде Ethereum есть своя валюта, называемая эфиром.


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

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


Список площадок для обмена традиционных валют на эфир.


Не обязательно использовать Mist, для создания и управление счетами с эфиром можно также использовать чеки или кошельки Etherwall, MyEtherWallet, ColdStorage, Hardware или другие.

В среде Ethereum есть несколько типов счетов.


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


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

Алексей Миронов
Алексей Миронов

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