Готовый роадмэп: как стать фулстек-разработчиком блокчейна
В этой статье вы получите полный роадмэп для full-stack-разработчика. Этот материал предназначен для людей, которые уже знакомы с кодом на базовом уровне, но будет полезен и новичкам.
Все вы знаете, что кодинг — это одна из самых востребованных и прибыльных профессий последнего десятилетия. Спрос на хороших кодеров все еще на высоте, несмотря на санкции и сокращения в компаниях.
И, если код в web2, редко используется в личных целях, то умение писать код для web3, может сделать вам состояние.
В этой статье вы получите полный роадмэп для full stack разработчика. Этот материал предназначен для людей, которые уже знакомы с кодом на базовом уровне, но будет полезен и новичкам. Дам много полезных ссылок. И так, поехали.
Языки для изучения
Solidity
Solidity — это хай-левл объектно-ориентированный язык для создания смарт-контрактов. На создания этого языка повлияли C++, Python и JavaScript. Солидити разработан для виртуальной машины Ethereum (EVM). Более подробную информацию о том, какие языки послужили источником для Solidity, можно найти в разделе «Влияние языков».
Solidity статически типизирован, поддерживает наследование, библиотеки и сложные типы среди прочих фишек.
С помощью Solidity можно создавать контракты для голосования, краудфандинга, блайнд аукционы и мульти-сигнатурные кошельки.
При развертывании контрактов следует использовать последнюю выпущенную версию Solidity. Обычно только последняя версия получает исправления безопасности. Кроме того, регулярно вносятся изменения, приводящие как к багам:) так и к новому функционалу.
Видео туториал по солидити на английском можно глянуть ниже. Если вы не знаете английского, я не знаю, что вы делаете в крипте.
Javascript
Вместе с Javascript вы должны знать о front-end разработке, т.е. HTML, CSS, Bootstrap, React, Typescript.
Для изучения этого языка также есть множество бесплатных курсов, в том числе и на YouTube.
Инструменты, которые нужно освоить:
Remix
Мастхэв познакомиться с Remix. Это приложение с открытым исходным кодом. Оно ускоряет разработку и имеет богатый набор плагинов с интуитивно понятным графическим интерфейсом. Ремикс используется на всем пути разработки контрактов, а также выступает в качестве игровой площадки для изучения и преподавания Ethereum.
Truffle
Среда тестирования для блокчейнов с использованием EVM. Служит для облегчения жизни девса. С Truffle вы получаете:
встроенную компиляцию смарт-контрактов, связывание, развертывание и бинарный менеджмент
автоматизированное тестирование контрактов для быстрой разработки.
расширяемая сценариями структура развертывания и миграции
управление сетью для развертывания в любом количестве публичных и частных сетей
управление пакетами с помощью EthPM и NPM с использованием стандарта ERC190
интерактивная консоль для прямого связи с контрактом
настраиваемый пайплайн с поддержкой тесной интеграции
внешний скрипт-бегунок, выполняющий скрипты в среде Truffle
А на видео ниже индус обучит вас Truffle за полтора часа.
Также как альтернатива Truffle вы можете использовать HardHat. Он более гибкий и на нем можно решать более широкий круг задач. Хотя на начальном этапе нет разницы.
MetaMask
Это безопасный зашифрованный кошелек для покупки/продажи/обмена/хранения крипты. Доступен как расширение для браузера и мобильное приложение.
MetaMask предоставляет собой самый простой и в то же время безопасный способ подключения к приложениям на основе блокчейна. Вы всегда контролируете ситуацию при взаимодействии с новым децентрализованным интернетом.
MetaMask генерирует пароли и ключи на вашем устройстве, поэтому только вы имеете доступ к своим учетным записям и данным.
Ganache
Персональный блокчейн для разработки Ethereum, который можно использовать для развертывания контрактов, разработки приложений и тестирования апок. Есть декстопная версия и в виде командной строки (ранее известной как TestRPC). Ganache доступен для Windows, Mac и Linux.
Ganache — это блокчейн для быстрой разработки распределенных приложений Ethereum и Corda. Вы можете использовать Ganache на протяжении всего цикла разработки; это позволит вам разрабатывать, развертывать и тестировать ваши приложения в безопасной и детерминированной среде.
Ganache поставляется в двух вариантах: UI и CLI. Ganache UI - это декстопное приложение, поддерживающее технологии Ethereum и Corda. Инструмент командной строки, ganache-cli , доступен для разработки Ethereum.
Библиотека JS для создания пользовательских интерфейсов.
ReactJs позволяет создавать инкапсулированные компоненты, которые позже компонуются для создания комплексных пользовательских интерфейсов.
Поскольку логика компонентов написана на JavaScript, а не в шаблонах, вы можете легко передавать дату через ваше приложение и держать состояние вне DOM.
React также может выполнять рендеринг на сервере с помощью Node и работать с мобильными приложениями с помощью React Native.
Справочная документация API предоставляет подробную информацию о функции или объекте в Node.js. Эта документация указывает, какие аргументы принимает метод, какое значение он возвращает и какие ошибки могут быть связаны с этим методом. Она также указывает, какие методы доступны для различных версий Node.js.
Эта документация описывает встроенные модули, предоставляемые Node.js. Она не cоберает модули от комьюнити.