Здравствуйте, сколько стоит курс Работа с Ethereum? |
Знакомство с Remix - web-среда Solidity IDE. Понимание основ среды Ethereum
Установка частного блокчейна
В этой лекции узнаем, как создать собственную частную сеть. На wiki-страницах Go Ethereum можно найти раздел Init, описывающий одноименную команду.
Эта команда позволяет задать в Geth каталог с данными и выбрать JSON-файл для генерации блокчейна, который - необходим для создания первого блока. Он состоит из нескольких конфигурационных параметров. Среда Ethereum предоставляет массу возможностей по созданию собственной частной сети. Единственный блок, к которому нужен особый подход при инициализации - это самый первый блок. В нашем случае это блок под номером ноль. Помимо собственно изначального блока, можно задать несколько внутренних конфигурационных параметров, например, напрямую назначить каким-то счетам определенное количество эфира..
Действуем по документации. Можно задать каталог с данными, хотя это и не обязательно, затем необходимо ввести команду init, а затем указать имя файла JSON. Если не задать каталог с данными, то изначальный блок будет записан в каталог по умолчанию. Если вы уже загрузили публичный блокчейн Ethereum, что на сегодняшний день составляет около пятнадцати гигабайт данных, и затем отдали команду на создание частного блокчейна с новым изначальным блоком, Geth произведет запись в каталог по умолчанию и тем самым сделает бесполезным весь объем загруженных данных. Они просто уничтожатся. Поэтому во всех случаях перед созданием частной сети необходимо сообщать Geth новый каталог с данными. Сейчас разберем на примере.
Откроем консоль. Наберем команду geth-datadir, а затем укажем путь к предварительно созданному каталогу. Затем init и customgenesis.json.
Автоматически выделилось пространство в шестнадцать мегабайт для кэш-памяти и шестнадцать логических номеров для файлов, расположенных в каталоге c:\eth_test\chaindata. Если перейти в этот каталог, можно увидеть все созданные файлы своими глазами.
Запустим Geth.
Работа с Geth в условиях частной сети не слишком отличается от работы с публичным блокчейном. Пожалуй, Geth не будет подключаться к другим узлам сети, это запрещено алгоритмами консенсуса Ethereum. Открываем кошелек, который подключен к частной сети.
В параллельном окне можно открыть Geth еще раз и запустить майнер. Видим, что счетов нет
Тогда создадим счет и зададим ему пароль test123. Проверим основной криптовалютный счет.
Посмотрим, как майнится эфир.
Майнинг эфира в частной сети идет невероятно быстро, ведь этому нет никаких препятствий. В сети просто нет ни одного другого узла. Это значит, что все добываемые единицы эфира начисляются на наш основной счет. Можно создавать контракты, открывать новые счета, пересылать эфир и тому подобное. Все эти операции делаются в частной сети.
Задание №1 - Понимание основ среды Ethereum перед тем, как начать работу
Публичный блокчейн
В этом задании потребуется установить кошелек Mist и среду Go-Ethereum. Для работы с публичным блокчейном Mist должен его загрузить. Кроме того, потребуется около 20 гигабайт дискового пространства.
Загрузить кошелек Mist можно по этой ссылке: https://github.com/ethereum/mist/releases
Убедитесь, что у вас есть свободное дисковое пространство и достаточная пропускная способность сети. Рекомендуется выполнять загрузку в ночное время.
Частный блокчейн
Если ваша основная цель - разработка распределенных приложений, а размещать их в блокчейне вы планируете позднее (например, с помощью альтернативного кошелька Jaxx), будет полезным научиться работать с частным блокчейном.
Для запуска частной сети загрузите клиент go-ethereum:https://github.com/ethereum/go-ethereum/releases
Загрузите JSON-файл для создания изначального блока: https://github.com/ethereum/go-ethereum/wiki/Command-Line-Options
Убедитесь, что кошелек Mist не запущен в фоновом режиме.
Создайте новый каталог и запустите команду Geth со следующими параметрами:
geth --datadir <some/location/where/to/create/chain> init genesis.json
Задание выполнено.