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

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

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

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

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

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

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

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

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

Вот краткий курс Udemy, который углубляется в основы блокчейна:

https://www.udemy.com/course/blockchain-and-bitcoin-fundamentals/

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

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

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

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

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

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

Вот замечательный курс по веб-разработке от Colt Steele:

https://www.udemy.com/course/the-web-developer-bootcamp/

4. Основы Эфириума

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



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

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

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

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

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

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

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



2. Изучите Web3DAO

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

О, и я упоминал, что это из-за высокой стоимости 0 долларов в месяц? И это еще не все, вы создаете проекты вместе с тысячами других разработчиков, участвуете в хакатонах и заводите друзей на всю жизнь!



3. Крипто-зомби

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



4. Надер Дабит

Надер Дабит рассказывает о:

  1. Реагировать
  2. Веб3
  3. Бессерверный
  4. Блокчейн
  5. DeFi

Вам следует подписаться на его канал на YouTube, если вы интересуетесь веб-разработкой или web3:

https://www.youtube.com/c/naderdabit/featured

5. FreeCodeCamp

FreeCodeCamp выпустил БЕСПЛАТНЫЙ 16-часовой курс по Solidity. Вы узнаете все о Solidity, блокчейне и смарт-контрактах.

Этот курс даст вам полное представление обо всех основных концепциях блокчейна, смарт-контрактов, надежности, NFT/ERC721, ERC20, кодировании децентрализованных финансов (DeFi), Python и Solidity, Chainlink, Ethereum, обновляемых смарт-контрактах и ​​полном стеке. разработка блокчейна.



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

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

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

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

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

Ознакомьтесь с этим репозиторием, чтобы узнать больше — https://github.com/adrianmcli/web3-vs-ethers

7. Алхимия

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



8. Ремикс

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

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



9. Каска

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

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

Мне нравится создавать и тестировать функциональность моих смарт-контрактов в Remix, а затем переносить их в VS Code, когда закончите.

Вот туториал по HardHat:

10. Трюфель

Truffle — мой любимый инструмент для разработки смарт-контрактов. Это поможет вам легко скомпилировать ваши смарт-контракты и использовать их в коде внешнего интерфейса. Ganache также поставляется с Truffle, который имитирует блокчейн, добавляет тестовые учетные записи и т. д. Это действительно полезно, чтобы избежать шаблонов.

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