Еще совсем недавно казалось, что блокчейн — это что-то невероятно сложное, продвинутое и только для IT-специалистов. Однако сегодня создать собственную сеть может практически каждый. Но чтобы не растеряться в этой новой среде, стоит использовать вспомогательные сервисы — и мы советуем обратить внимание на эти 10 инструментов.
1. Geth
Geth — это написанный на языке программирования Go клиент, выполняющий функцию ноды в сети Ethereum. С помощью Geth пользователь может:
- Заниматься майнингом эфира;
- Переводить токены из одного кошелька в другой;
- Создавать смарт-контракты и исполнять их в Ethereum Virtual Machine (виртуальной машине Ethereum, или EVM);
- Изучать историю блока.
Скачать клиент Geth можно здесь. Есть версии Geth для Linux, Mac и Windows.
При установке можно выбрать один из двух типов Geth: Binary или Scripted.
Начав работать с Geth, вы сможете:
- Подключиться к существующему блокчейну;
- Создать собственный блокчейн в зависимости от настроек провайдера.
Однако если вы предварительно не установили свою конфигурацию, Geth автоматически подключит вас к главной сети Ethereum.
Geth также является интерфейсом, через который вы можете вводить определенные команды и выполнять некоторые функции. Впрочем, имейте в виду, что, запустив Geth, вы автоматически загрузите весь блокчейн Ethereum, а на это может уйти много времени (иногда целые дни). Возможно, для хранения данных будет лучше использовать внешний жесткий диск.
2. Mist
Mist может оказаться очень полезным инструментом, особенно при работе со смарт-контрактами, но надо помнить об одной очень важной вещи. Mist — это кошелек с полной синхронизацией, а это значит, что вам придется загрузить весь блокчейн Ethereum, объем которого превышает 1 Тб.
Есть версии Mist для Windows (32- и 64-разрядных), Mac и Linux (тоже на 32 и 64 разряда).
После того как вы установите Mist, вам придется подождать, пока ПО синхронизируется с блокчейном Ethereum. После полной синхронизации ноды вы сможете выбрать, работать в основной сети или в тестовой. Если вы просто хотите опробовать в деле Ethereum, рекомендуем выбрать тестовый блокчейн.
Где-то в этот момент вас попросят выбрать пароль. Здесь нужно помнить о двух вещах:
- Выбрав пароль, вы уже никогда больше не сможете его изменить. Поэтому вам с самого начала необходимо придумать очень надежный пароль и НИКОГДА его не забывать.
- Вам нужно будет вводить свой пароль в качестве подтверждения каждый раз, когда вы захотите переслать эфир.
3. Solc
Solidity — это упрощенный язык программирования, чей синтаксис очень похож на ECMAScript (Javascript), который используется для создания смарт-контрактов в блокчейне Ethereum. Однако необходимо что-то, что будет конвертировать код Solidity в формат, легко воспринимаемый Ethereum Virtual Machine. Вот где в дело вступает Solc (сокращение от Solidity compiler, компилятор Solidity).
Есть два вида компиляторов Solidity:
- Solc, где языком программирования выступает C++;
- Solc-js, использующий Emscripten для кросс-компиляции исходного кода Solc C++ и JavaScript.
Хотя с технической точки зрения оба компилятора основаны на одном и том же исходном коде, на практике они дают слегка разные результаты. Кроме того, у них разные интерфейсы командной строки. Имейте в виду, что solc-js работает чуть медленнее, чем solc.
Многие ноды Ethereum изначально имеют встроенный компилятор solc, но он также существует в качестве автономного модуля для компилирования в режиме офлайн.
Поэтому вы сможете выбрать, использовать ли команду web3.eth.compile.solidity () для компилирования файлов на Solidity, задействуя вашу ноду, или запустить модуль solc.compile (), для которого вообще не нужна внешняя нода.
Компилятор Solidity, построенный на основе JavaScript, может использоваться в некоторых очень интересных приложениях. Одно из таких приложений — Remix, о котором мы сейчас и поговорим.
4. Remix
Remix — это отличный компилятор, используемый для небольших контрактов. Если вы хотите выучить язык Solidity, это однозначно лучший вариант. Просто идите на их сайт и увидите такую картинку:
Это начальная конфигурация Remix. Слева вы видите поле, где можно писать код. Поле справа дает вам возможность вносить ваш код в блокчейн и позволяет взаимодействовать с составленными вами командами.
Remix написан на Javascript, и его можно использовать как в браузере, так и локально. Также с помощью Remix можно тестировать, налаживать и создавать смарт-контракты.
У Remix есть анализатор кода, который гарантирует высокое качество работы разработчиков. Remix подключается к блокчейну Remix через Metamask (об этом инструменте речь пойдет чуть ниже).
5. Тестовые сети
Когда вы пишите программы для Ethereum Virtual Machine (EVM), нужно учитывать несколько факторов:
- Вам надо будет платить за запуск ПО и за газ. Комиссии за газ в Ethereum обходятся недешево. Так зачем же платить столько денег за проект, который вы даже еще не протестировали?
- В коде непротестированной программы могут быть баги, который внесут хаос в блокчейн Ethereum. Кроме того, помните, что блокчейн Ethereum неизменяем: все, что там происходит, остается в нем навсегда.
Вот почему, прежде чем загружать DApp в главную сеть, следует сначала опробовать ее в тестовой сети. Тестовые сети — это копии блокчейна Ethereum, которые почти ничем не отличаются от главной сети за исключением того, что газ в них ничего не стоит (как, разумеется, и размещенное в этих тестовых сетях ПО).
Есть три вида тестовых сетей:
- Общедоступные;
- Приватные;
- GanacheCLI (или Testrpc).
Общедоступные сети
Кто угодно может к ним подключиться с помощью кошельков вроде MyEtherWallet или MetaMask. Существуют следующие общедоступные сети: Ropsten, Rinkeby и Kovan.
Приватные сети
Вместо того чтобы воспользоваться общедоступным блокчейном, вы можете создать собственный, то есть приватную тестовую сеть. Как же это делается?
Вы создаете конфигурационный файл, который с помощью какого-либо инструмента, например, Geth, генерирует новый блокчейн для вашего личного пользования. Затем этот блокчейн проходит проверку такими инструментами, как Mist, MetaMask, MyEtherWallet и т. д., с которыми он может взаимодействовать.
Приватные тестовые сети используются командами стартапов, которые разрабатывают конфиденциальные проекты и хотят смоделировать майнинг и подтверждение транзакций, не подвергая себя риску атак со стороны хакеров.
Создание такие тестовых сетей ничего не стоит. Вот все расходы, которые вам придется понести:
- За потребленную электроэнергию;
- За место на диске в компьютере разработчика.
Также, после того как приватная тестовая сеть станет достаточно большой, разработчики смогут сделать ее общедоступной.
6. GanacheCLI
GanacheCLI (ранее Testrpc) является пакетом на базе NodeJS — быстрым эмулятором блокчейна, адаптируемым под требования разработчика. Он моделирует сеть Ethereum на отдельном компьютере и позволяет вам взаимодействовать с блокчейном, избегая всех трудностей, связанных с эксплуатацией настоящей ноды Ethereum.
Вот что вы можете делать с помощью GanacheCLI:
- Мгновенно осуществлять транзакции;
- Не платить комиссий за транзакции;
- Восстанавливать и создавать любые аккаунты в тестовой сети, используя фиксированное количества эфира;
- Менять по желанию скорость майнинга и цену за газ в любой момент;
- Использовать очень простой графический интерфейс для контроля за своей тестовой сетью.
7. API Coinbase
API (программный пользовательский интерфейс) Coinbase дает разработчикам возможность создавать новые биткоин-приложения и встраивать биткоин в уже существующие приложения.
Эта система позволяет решать множество самых разных задач, начиная со сбора данных, предназначенных только для чтения, и заканчивая созданием чего-то совершенно нового.
Кроме того, API Coinbase — это система, в которой можно создавать биткоин-адреса и кошельки, покупать, продавать и пересылать биткоины по всему миру; также она предлагает несколько клиентских библиотек и мобильных SDK, чрезвычайно полезных для разработчиков.
Помимо этого Coinbase предлагает простой и мощный интерфейс REST API, с помощью которого ваш бизнес или приложение сможет получать платежи в биткоинах, Bitcoin Cash, лайткоинах или эфире.
8. EtherScripter
Для неопытных разработчиков написание кода для работы с Ethereum — непростая задача. EtherScripter — очень забавный интерфейс, с помощью которого можно начать составлять базовые контракты.
В этом интерфейсе вы просто перетаскиваете с места на место различные кусочки пазла, собирая из них готовый контракт. В данный момент работать с ним можно только на языке программирования Serpent.
Вот, например, как выглядит смарт-контракт для игры в орлянку, составленный с помощью EtherScripter:
Вы видите, как кусочки пазла складываются в единое целое, и все это выглядит очень круто и красиво.
9. BaaS
«Блокчейн как услуга» (BaaS) — это понятие, о котором в последнее время говорят довольно много. По сути, BaaS — это сервис, который позволяет пользователям создавать, размещать и использовать свои собственные блокчейн-приложения, смарт-контракты и функции на блокчейне через облачные приложения.
Выполнение всех необходимых задач и действий для поддержания гибкости и работоспособности инфраструктуры контролирует сервис-провайдер облака.
Проще говоря, это возможность использования блокчейна без всех тех сложностей, с которыми сопряжено поддержание сети в рабочем состоянии. По тому же принципу устроена бизнес-модель SaaS.
Этот сервис очень удобен для индивидуальных пользователей или компаний, которые давно хотели внедрить блокчейн-технологию, но не стали из-за технических сложностей и больших операционных расходов.
Сейчас услуги BaaS предлагают многие стартапы и компании. Microsoft создали для этих целей платформу Azure. Это полезный инструмент, с помощью которого разработчики могут безопасно и дешево создавать децентрализованные приложения, поддерживающие несколько блокчейнов, в том числе MultiChain, Eris, Storj и Augur.
Пользователь платит поставщику BaaS за то, что тот создает и поддерживает инфраструктуру блокчейна. А провайдер фактически предоставляет клиенту и его бизнесу готовый конечный продукт.
10. Metamask
Metamask предоставляет ПО, которое позволяет не только работать с эфиром и другими токенами стандарта ERC-20, но и взаимодействовать с DApps на платформе Ethereum.
Что самое классное, все это можно делать непосредственно в браузере. Metamask легко устанавливается как расширение для Google Chrome или дополнение для Firefox.
После установки у вас появляется встроенный непосредственно в ваш браузер Ethereum-кошелек, который можно использовать также для хранения токенов стандарта ERC-20. Что интересно, Metamask способен взаимодействовать с различными тестовыми сетями Ethereum, так что для разработчиков это очень полезный инструмент.
Будь в курсе! Подписывайся на Криптовалюта.Tech в Telegram.
Обсудить актуальные новости и события на Форуме
Запись Топ-10 инструментов для разработки блокчейна впервые появилась Криптовалюта.Tech.
Криптовалюта.Tech
Автор: Saffron