Обзор клиентов для сети Ethereum, зима 2016.

В этом материале будут рассмотрены существующие на данный момент, январь 2016 клиенты для сети Ethereum. Обращаю внимание, что буду рассматривать только запуск и подготовку клиентов к работе и не буду рассматривать настройку для соло майнинга или подготовку к работе с компилятором смарт контрактов.

1.Geth

Имплементация Ethereum на Golang. На данный момент является основным и официальным клиентом для сети. Существуют сборки под основные платформы:

Официальный репо на github:

https://github.com/ethereum/go-ethereum

Инструкция по установке и сборке:

https://github.com/ethereum/go-ethereum/wiki/Building-Ethereum

Использование

Я рассмотрю использование Geth на Windows и Ubuntu. Если вы хотите поднять ноду или попробовать написать умные контракты для сети Ethereum, то эта инструкция как раз для вас.

На Windows всё просто, качаете архив, распаковываете, запускаете. Выглядит это примерно так:

Запуск клиента сети Ethereum Geth
Запуск клиента сети Ethereum Geth

Дальше, нужно немного подождать, пока начнется синхронизация:

Синхронизация клиента сети Ethereum Geth
Синхронизация клиента сети Ethereum Geth

Примечание к картинке:  #6265 — это № блока на котором сейчас находится синхронизация.

На Ubuntu, вам нужно выполнить следующую инструкцию: https://github.com/ethereum/go-ethereum/wiki/Installation-Instructions-for-Ubuntu

Остальное почти не отличается от Windows.

Состояние сети можно посмотреть по ссылке: stats.ethdev.com

Когда ваша нода скачает все блоки можно приступать к работе. Для удобства и для того, чтобы сообщения о новых блоках не мешали работе, лучше открыть дополнительное окно cmd или terminal и запустить geth командой:

geth attach


Далее вам нужно создать аккаунт, для этого используется команда personal.newAccount(). Geth запросит пароль и в ответ вы увидите ваш адрес.

Создание аккаунта сети Ethereum в клиенте Geth
Создание аккаунта сети Ethereum в клиенте Geth

Полный список команд консоли можно посмотреть по ссылке: https://github.com/ethereum/go-ethereum/wiki/JavaScript-Console

Список опций запуска: https://github.com/ethereum/go-ethereum/wiki/Command-Line-Options

Блокчейн, ключи и вообще все файлы относящиеся к Geth по умолчанию хранятся в папке

Windows — c:\Users\Ваш User\AppData\Ethereum

Ubuntu — /home/User/.ethereum

Папка с ключами от аккаунтов — KeyStore (не потеряйте)

Теперь у вас есть нода и адрес, вы полноценный участник сети Ethereum.

2.Eth

Имплементация Ethereum на C++. Разрабатывалась и поддерживалась Гэвином Вудом, но недавно он объявил об уходе из проекта, поэтому судьба этой версии, туманна.

Релизы можно скачать по этой ссылке:

https://github.com/ethereum/webthree-umbrella/releases

Для Windows и OS X есть инсталляторы. Как установить на Ubuntu можно почитать здесь:

https://gavofyork.gitbooks.io/turboethereum/content/chapter1.html

Для Windows, дополнительно нужно вот это:

https://www.microsoft.com/en-US/download/details.aspx?id=40784

Кстати, если вы собираетесь заняться майнингом, в комплекте Cpp-Ethereum как раз идет майнер для GPU.

Когда вы запустите eth, он сразу попросит вас создать аккаунт, запросив пароль. Запускайте командой eth console.

Запуск клиента сети Ethereum - Eth
Запуск клиента сети Ethereum — Eth

Через некоторое время начнется синхронизация и вы будете получать много сообщений, которые могут мешать работе. Чтобы избавится от них, используйте команду: web3.admin.setVerbosity(0)

Остальные команды, такие же как в Geth: https://github.com/ethereum/go-ethereum/wiki/JavaScript-Console

Блокчейн, ключи и вообще все файлы относящиеся к Eth по умолчанию хранятся в папке

Windows — c:\Users\Ваш User\AppData\Ethereum

Ubuntu — /home/User/.ethereum

Файлы с ключами от аккаунтов — Keys.info, keys.info.salt (не потеряйте)

ВНИМАНИЕ!! Файлы ключей Eth и Geth не совместимы, т.е. вы не сможете просто переписать в Eth ключи от Geth и наоборот. Поэтому единственным способом передать средства, будет отправка на адрес в другом клиенте.

3.Mist

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

Последние релизы доступны по ссылке, последняя версия Wallet 0.3.8 (Beta 5):

https://github.com/ethereum/mist/releases

Запускаем

Запуск GUI клиента Mist сети Ethereum
Запуск GUI клиента Mist сети Ethereum

Идет поиск нод… Необходимо немного подождать.

Процесс синхронизации в Mist
Процесс синхронизации в Mist

Началась синхронизация. Когда она закончится, откроется следующее окно:

Стартовое окно клиента сети Ethereum Mist в Windows
Стартовое окно клиента сети Ethereum Mist в Windows

Чтобы создать аккаунт, нужно нажать на кнопку «Add Account», ввести пароль.

Создание аккаунта сети Ethereum в Mist
Создание аккаунта сети Ethereum в Mist

Появился аккаунт Etherbase, это ваш основной аккаунт в сети Ethereum. При нажатии на него, откроется окно с информацией о нем, в котором также можно отправить с него средства, нажав кнопку Deposit.

Обращаю внимание, что можно еще создать Contract Based Wallet — кошелек на основе умного контракта. Если вы не обладаете знаниями об умных контрактах, лучше не отправляйте на такие кошельки много средств. В этом обзоре я не буду описывать как с ними работать.

Создание smart контракта для хранения Ether с помощью Mist
Создание smart контракта для хранения Ether с помощью Mist

Кошелек готов к работе. Он еще умеет работать с умными контрактами, но это тема для отдельного обзора.

4.Alethzero и AlethOne

В комплект Cpp-Ethereum, кроме eth и ethminer, входят еще:

  • Alethzero
  • AlethOne
  • Еще несколько продуктов, о них говорить сегодня не будем

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

Запущенный клиент AlethZero
Запущенный клиент AlethZero

Отличается глючность, тормознутостью, продукт не доделанный, а после ухода Гэвина Вуда, надежды на его развитие почти пропали.

AlethOne, это простейший кошелек с встроенной возможностью майнинга. Работает на eth:

Запуск майнинга Ether в клиенте AlethZero
Запуск майнинга Ether в клиенте AlethZero

Можно майнить в соло и на пул. Подойдет для нетребовательного пользователя.

Обзор подготовлен Евгением Радченко. Если у вас есть какие либо вопросы пишите в комментарии или в twitter @EnsRationis

  • Stepan

    Спасибо за статьи.

    Вы знаете что картинки не показываются людям не зарегистрированным в airadao.atlassian?

    • EnsRationis

      Упс ) Извиняюсь. Поищу исходные картинки в wiki команды.

  • Mr Z

    Приветствую,

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

    Где можно почитать про умный контракт? что это и для чего ?

  • YO!

    Объясни, почему на разных клиентах разные размеры blockchain’а? Система ведь едина, и валюта одна?