Найти тему
ITStalker

Как стать разработчиком Web 3

Оглавление

Руководство для начинающих по навигации в запутанном мире web3

Все говорят о web 3.0, и в это пространство вливаются сумасшедшие деньги. Средний разработчик блокчейна зарабатывает 140 тысяч долларов в год. Попасть в эту отрасль — лучшее, что вы можете сделать как разработчик!

Поскольку индустрия Web 3.0 относительно новая, ресурсов не так много, и многие из них не обновляются. Я составил список лучших ресурсов и руководств, чтобы создать идеальную дорожную карту для изучения Web3 и Solidity.

Основы блокчейна

Первое, что вам нужно понять, чтобы стать разработчиком web3, — это блокчейн. Это поможет вам легко разработать и оптимизировать смарт-контракты (мы поговорим об этом позже). Давайте посмотрим, что такое блокчейн и как он работает.

Блокчейн — это неизменяемая, общедоступная и децентрализованная база данных, принадлежащая пользователям. Данные хранятся в виде блоков, отсюда и название «Блокчейн». Чтобы связать блоки вместе, каждый блок содержит свои данные, свой хэш и хеш предыдущего блока.

Хэш — это уникальная строка, вычисляемая на основе данных. Хэш меняется в зависимости от информации. Возможно, вы сталкивались с этим при реализации токенов JWT в NodeJS.

Если кто-то вмешивается в один из блоков, хеш изменяется, а следующие блоки становятся недействительными, поскольку цепочка разорвана. Затем человеку придется пересчитывать все блоки в цепочке, что займет очень много времени (10 минут на блок).

Копии блокчейнов хранятся на компьютерах по всему миру, называемых узлами. Таким образом, вам также потребуется доступ к большинству компьютеров, и повторите этот процесс. Для компьютера практически невозможно сделать все это достаточно быстро, чтобы сеть не заметила и не попыталась выкинуть мошенника из блокчейна.

Децентрализованные приложения

DApps или децентрализованные приложения — это приложения, построенные поверх блокчейна. Основные технологии, используемые в DApps:

  1. Внешний интерфейс: JavaScript-фреймворки, такие как React, Vue, Angular.
  2. Бэкенд: Rust и Solana или Solidity и Ethereum

Теперь вы можете подумать, какие примеры использования DApps? Вот несколько отраслей, в которых DApps могут произвести революцию:

  1. Escrow — Всякий раз, когда вы покупаете/продаете дом, вам нужно доверять покупателю, чтобы он заплатил вовремя, или хранить деньги у сторонней компании. Что, если покупатель не заплатит или третья сторона сбежит с деньгами? DApps могут обеспечить безопасный перевод денег
  2. Записи — когда что-то добавляется в блокчейн, его нельзя редактировать или удалить. Это очень удобно при ведении домашних записей, медицинских карт и т. д.
  3. Платежи. Криптовалюты можно использовать для простых и безопасных платежей для передачи стоимости. Хотя плата за газ сейчас довольно высока, я уверен, что в будущем она снизится.

Основы фронтенд-веб-разработки

Как я упоминал ранее, DApps может иметь технологию блокчейна, обеспечивающую работу бэкэнда, но внешний интерфейс — это JavaScript. Вот чему вам нужно научиться:

  1. HTML — общие теги HTML
  2. CSS — основные свойства, Flex, сетка
  3. CSS Frameworks [необязательно] — Bootstrap, Semantic UI, Tailwind и т. д.
  4. JavaScript — переменные, функции, классы, ES6 и т. д.
  5. Фреймворки JavaScript [рекомендуется] — React/Vue/Angular

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

  1. Основы NodeJS — Цикл событий, ввод-вывод
  2. API-фреймворк — экспресс
  3. Базы данных — MongoDB, SQL, PostgreSQL

Ethereum — это блокчейн, который обрабатывает смарт-контракты. Ethereum, безусловно, является самым популярным блокчейном для создания смарт-контрактов в 2022 году. Solidity — это язык, используемый для разработки смарт-контрактов. Официальная документация — отличное место, чтобы начать узнавать больше об Ethereum: ethereum.org/ru/developers/docs/

Смарт-контракты

Смарт-контракты — это неизменяемый код в блокчейне, который выполняет контракт. Смарт-контракты похожи на классы в JavaScript. Они используются для питания DApps.

Простого понимания концепции смарт-контрактов недостаточно, вы также должны уметь их разрабатывать. Вот где появляется Solidity. Solidity — это объектно-ориентированный язык программирования высокого уровня, который создан специально для простого создания смарт-контрактов.

Однако, поскольку Solidity очень нов, ресурсов для его изучения очень мало. Лучший способ учиться — создавать проекты и решать проблемы, с которыми вы сталкиваетесь, обращаясь к документации. Давайте посмотрим на некоторые ресурсы, которые следуют аналогичному шаблону.

Место для сборки

Buildspace — это платформа группового обучения и один из лучших ресурсов для изучения Web3. Вы можете создавать DApps, коллекции NFT, браузерные игры NFT, DAO и многое другое с помощью Solana, Polygon и Ethereum.

Вы также получаете бесплатный NFT по завершении проекта, что очень круто! Вы получаете доступ к их эксклюзивным доскам объявлений о вакансиях, откуда нанимаются крупнейшие компании Web3. buildspace.so

Изучите Web3DAO

Learn Web3 DAO — еще один замечательный ресурс для Web3. Он имеет 4 разных трека — Freshman, Sophomore, Junior, Senior для разработчиков с разным уровнем подготовки. Вы научитесь создавать DApps, коллекции NFT, токены ICO, DAO, протоколы DeFi и многое другое.

CryptoZombies

Вам нравятся Игры? Вам это понравится. CrytoZombies — это игровой курс по программированию, в котором вы строите фабрику зомби, используя смарт-контракты. Вы должны учиться на одном из других ресурсов и практиковать свои навыки, используя CrytoZombies.

Свяжите свой смарт-контракт с интерфейсом

Теперь, когда вы знаете, как разрабатывать смарт-контракты, вам нужно их использовать. Для этого есть две основные библиотеки — web3.js или ethers.js. Давайте посмотрим, почему ethers.js лучше, чем web3:

  1. Гораздо меньший размер
  2. Меньше ошибок
  3. Лучшая документация
  4. Более популярным
  5. Легче для начинающих
  6. Дополнительные возможности

Вот отличный туториал по ethers.js:

Я также предлагаю изучить web3.js, так как некоторые кодовые базы могут его использовать. Вот ускоренный курс по web3.js:

Alchemy

Alchemy — это набор инструментов для разработчиков, позволяющий быстрее создавать прототипы, отлаживать и выпускать продукты. Alchemy поддерживает различные цепочки, такие как Ethereum, Polygon, Starknet, Flow и другие. Он имеет потрясающий API NFT, который позволяет вам легко настроить и запустить свою коллекцию NFT. Он также поддерживает push-уведомления web3.0, а также имеет улучшенный API-интерфейс блокчейна!

Remix

Remix — это браузерная IDE, специально созданная для создания смарт-контрактов Ethereum с использованием Solidity. Настройка не требуется, вы можете сразу начать писать свой код.

Он компилирует ваш код и помогает вам легко его протестировать. Мало того, вы также можете легко развернуть свой смарт-контракт.

Hardhat

Хотя Remix великолепен, иногда его недостаточно, и я скучаю по настройке VS Code со всеми моими 42 расширениями. Вам понадобится локальная среда Ethereum, если вы используете VS Code. Вот где HardHat вступает в игру.

Hardhat помогает легко развертывать контракты, запускать тесты и отлаживать код Solidity. Вы можете развернуть свой контракт в различных сетях, таких как Ropsten, Rinkeby, Mainnet и т. д. О, и он также поддерживает TypeScript 🤩

Вот учебник по HardHat: