Руководство для начинающих по навигации в запутанном мире web3
Все говорят о web3, и в это пространство текут сумасшедшие деньги. Средний разработчик блокчейна зарабатывает 140 тысяч долларов в год. Попасть в эту отрасль — лучшее, что вы можете сделать как разработчик!
Поскольку индустрия веб3 относительно новая, ресурсов не так много, и многие из них не обновляются. Я составил список лучших ресурсов и руководств, чтобы создать идеальную дорожную карту для изучения web3 и Solidity.
1. Основы блокчейна
Первое, что вам нужно понять, чтобы стать разработчиком web3, — это блокчейн. Это поможет вам легко разработать и оптимизировать смарт-контракты (мы поговорим об этом позже). Давайте посмотрим, что такое блокчейн и как он работает.
Блокчейн — это неизменяемая, общедоступная и децентрализованная база данных, принадлежащая пользователям. Данные хранятся в виде блоков, отсюда и название «Блокчейн». Чтобы связать блоки вместе, каждый блок содержит свои данные, свой хэш и хеш предыдущего блока.
Хэш — это уникальная строка, вычисляемая на основе данных. Хэш меняется в зависимости от информации. Возможно, вы сталкивались с этим при реализации токенов JWT в NodeJS.
Если кто-то вмешивается в один из блоков, хеш изменяется, а следующие блоки становятся недействительными, поскольку цепочка разорвана. Затем человеку придется пересчитывать все блоки в цепочке, что займет очень много времени (10 минут на блок).
Копии блокчейнов хранятся на компьютерах по всему миру, называемых узлами. Таким образом, вам также потребуется доступ к большинству компьютеров, и повторите этот процесс. Для компьютера практически невозможно сделать все это достаточно быстро, чтобы сеть не заметила и не попыталась выкинуть мошенника из блокчейна.
Вот краткий курс Udemy, который углубляется в основы блокчейна:
https://www.udemy.com/course/blockchain-and-bitcoin-fundamentals/
2. Децентрализованные приложения
DApps или децентрализованные приложения — это приложения, построенные поверх блокчейна. Основные технологии, используемые в DApps:
- Внешний интерфейс: JavaScript-фреймворки, такие как React, Vue, Angular.
- Бэкенд: Rust и Solana или Solidity и Ethereum
Теперь вы можете подумать, какие примеры использования DApps? Вот несколько отраслей, в которых DApps могут произвести революцию:
- Эскроу — Всякий раз, когда вы покупаете/продаете дом, вам нужно доверять покупателю, чтобы он заплатил вовремя, или хранить деньги у сторонней компании. Что, если покупатель не заплатит или третья сторона сбежит с деньгами? DApps могут обеспечить безопасный перевод денег
- Записи — когда что-то добавляется в блокчейн, его нельзя редактировать или удалить. Это очень удобно при ведении домашних записей, медицинских карт и т. д.
- Платежи. Криптовалюты можно использовать для простых и безопасных платежей для передачи стоимости. Хотя плата за газ сейчас довольно высока, я уверен, что в будущем она снизится.
3. Основы фронтенд-веб-разработки
Как я упоминал ранее, DApps может иметь технологию блокчейна, обеспечивающую работу бэкэнда, но внешний интерфейс — это JavaScript. Вот чему вам нужно научиться:
- HTML — общие теги HTML
- CSS — основные свойства, Flex, сетка
- CSS Frameworks [необязательно] — Bootstrap, Semantic UI, Tailwind и т. д.
- JavaScript — переменные, функции, классы, ES6 и т. д.
- Фреймворки JavaScript [рекомендуется] — React/Vue/Angular
Я также рекомендую изучить бэкэнд web2 в качестве запасного варианта на случай, если web3 не сработает. Вот что вы должны изучить для бэкэнда:
- Основы NodeJS — Цикл событий, ввод-вывод
- API-фреймворк — экспресс
- Базы данных — 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. Надер Дабит
Надер Дабит рассказывает о:
- Реагировать
- Веб3
- Бессерверный
- Блокчейн
- 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:
- Гораздо меньший размер
- Меньше ошибок
- Лучшая документация
- Более популярным
- Легче для начинающих
- Дополнительные возможности
Вот отличный туториал по 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-компаниям создавать потрясающие продукты. А сейчас до свидания!