Мир web3 удивителен и у вас есть шанс стать частью этого нового мира. Речь не только о web3, как о явлении, но и о web3 с точки зрения Frontend разработки. Для вас это прежде всего вызов и возможность изучить что-то новое - новые подходы, технологии, новый пользовательский опыт и пр. Не надейтесь, что вы поймёте web3 с первого раза - блокчейн богат как в ширину, своим разнообразием продуктов и решений, так и в глубину, своими технологиями и ментальной моделью. Это долгий путь профессионального развития и погружения, а наша программа может стать началом этого пути и отправной точкой.
В интернете огромное количество различных материалов на тему блокчейна - это и плюс и минус. Минус, потому что все эти материалы очень разного качества, разной степени погруженности и для разной целевой аудитории. Мы подготовили “список литературы”, который сочли оптимальным для погружения в мир web3. Он содержит как общие материалы о блокчейне в целом, так и прикладные материалы для web3 Frontend разработчиков. Тем не менее, мы вас не ограничиваем и вы можете изучать web3 по любым ресурсам, которые найдете для себя комфортными.
Теория
Блокчейн
Две отличные вводные статьи в блокчейн технологии, простым языком, читаются друг за другом -
. Простая и крайне важная концепция, о которой нет нормальной информации в интернете. Обратите внимание, код на 2м скриншоте не актуален. В viem (которым мы будем пользоваться) есть удобные утилиты для конвертации значения в обе стороны -
по JSON-RPC API. Стоит ознакомиться как минимум с вводной частью. По сути это то, как отправляются запросы в блокчейн на самом низком уровне, то есть под капотом у всех библиотек и sdk, таких как web3.js, ethers.js, viem, alchemy sdk и множества других. Например у viem, с которой мы будем работать, на каждый метод в документации есть ссылка на функцию, которую viem вызывает под капотом у JSON-RPC API.
- ваш главный инструмент при работе с evm совместимыми сетями. Содержит множество утилит и react-хуков, делая работу с блокчейном максимально удобной. Под капотом использует
. Так же автоматически кэширует запросы в блокчейн, с помощью @tanstack/react-query. Следует ознакомиться с документацией после изучения теории и перед началом командного этапа. Обратите внимание на:
. Он поделен на 3 “недели”, в каждой неделе 5 дней, на каждый день - одно видео. Всего 15 видео. Разумеется, вы можете смотреть это как вам удобно, хоть всё за один день. Мы рекомендуем ознакомится с первыми двумя “неделями”. Вы можете включить субтитры с автоматическим переводом на русский, они хорошо работают.
Первая “неделя” посвящена обзору того, как с web3 взаимодействует самый обычный пользователь. Какие продукты есть в web3, зачем они нужны, рассматривается интерфейс самых популярных веб сайтов из мира web3. Очень полезно посмотреть на то, как обычный пользователь взаимодействует с сайтом из мира web3. Попутно рассказывается про кошельки, газ, NFT, IPFS и многое другое.
Вторая “неделя” является прикладной и вам на примере библиотеки ethers.js покажут, как вы можете взаимодействовать с блокчейном. Также будут постоянные отсылки к коду смарт контрактов. А вам, как фронтенд разработчикам, довольно важно уметь читать код смарт контрактов хотя бы на базовом уровне, чтобы по каждой мелочи не дергать солидити разработчиков. Не переживайте, это приходит с опытом.
У второй “недели” есть пара нюансов:
Скрипты там запускают из консоли, а не из браузера. Это не важно для обучающего материала, но разумеется пользователь взаимодействует с блокчейном именно в браузере.
У ethers.js существует более современный аналог - viem. И на проекте мы будем использовать связку wagmi + viem. Это не проблема, так как viem и ethers.js по сути делают одинаковые вещи. Viem просто более современный и лучший аналог. Тем не менее, ethers.js часто встречается в старых проектах или новых, если разработчики не слышали о viem)
Вопросы для самоконтроля
Ниже перечислены вопросы для самопроверки. Если вы уверенно можете ответить на все из них, то вы готовы к командному этапу.
Блокчейн
Что такое блокчейн?
Что такое dApp?
Что такое ethereum?
Что такое evm-совместимые сети?
Что такое тестовые сети (testnets)?
Что такое газ? От чего зависит стоимость транзакций в блокчейне?
Что такое смарт-контракт и ABI?
Что такое “события” в смарт контракте?
Кошельки
Что такое кошелек? Что такое private key и public key? Перечислите хотя бы 5 разных кошельков.
Что такое WalletConnect?
Токены
Что такое ERC-20 и ERC-721?
Что такое аппрув токена, зачем он нужен?
Что такое decimals, зачем нужен? Почему это важно для работы dApp? Как узнать значение decimals?
Что такое minting, burning, staking?
Что такое стейблкоин? В чём отличия между фиатными и алгоритмическими стейблкоинами?
IPFS
Что такое IPFS и при чём тут NFT?
Фронтенд
Как прочесть информацию из блокчейна и при чём тут RPC?
Что такое etherscan?
Что такое TransactionReceipt?
Что такое wagmi?
Что такое viem? Что такое ethers.js?
Командный этап
Уже по традиции делаем проект максимально приближенный к коммерческому по scrum в команде из техлида, менеджера проекта и 3-х разработчиков.
Продолжительность: 4 спринта по 1 неделе
Набираем команду, пишите менеджеру программы Светлане @lana_dulceva
Want to print your doc? This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (