Web3 — это эволюция интернета, где пользователи контролируют свои данные и цифровые активы без посредников. В основе технологии лежат децентрализация и прозрачность. В отличие от традиционного Web2, Web3 опирается на блокчейн, а не на централизованные серверы. Это позволяет исключить третьих лиц из взаимодействия.
Frontend в Web3 — это ключевая точка входа для пользователя. Именно интерфейс позволяет:
Если Web3 делает интернет свободным, то frontend делает его доступным и понятным.
Web3 убирает привычные БД и серверы. Пользователь идентифицируется через цифровую подпись, а данные поступают напрямую из блокчейна. Это требует новых подходов, но и открывает двери в мир, где онлайн-пространство становится более прозрачным и справедливым.
Дальше мы обсудим, почему Web3 — это будущее, которое важно освоить уже сегодня, а поможет нам в этом наш эксперт — Евгений, frontend-разработчик в сфере Web3 с четырехлетним опытом. За это время он успел поработать над самыми разными проектами: от mini-apps Telegram и NFT сайтов до сложных платформ для инвестирования и обучения в криптоиндустрии.
Как ты сам узнал о Web3 и что тебя вдохновило перейти в эту сферу?
Евгений: Впервые узнал о биткоине в 19 году, когда была бычка и все говорили про него в новостях, технология меня заинтересовала, но тогда я еще не знал о всей этой большой сфере. О самом Web3 узнал случайно: в дискорд сервере по typeScript познакомился с немцем, немного пообщавшись, он рассказал мне про Ethereum, solidity, смарт контракты. Меня это очень заинтересовало, я посмотрел вводные ролики на эти темы и пошел изучать солидити на cryptozombies.io (по его рекомендации).
Спустя недолгое время мне пришел первый оффер на работу в Web3, так я смог заиметь первые знакомства в этой сфере, узнал о Telegram-чатах на тему Web3 разработки, зашел во все, так и начал погружаться в эту сферу.
В чем, по твоему мнению, главная революционность Web3?
Евгений: Конечно же, в смарт контрактах, они дали новый глоток воздуха крипте, открыв дорогу многим популярным проектам и новым технологиям(defi, dao, nft и тд).
Если вы frontend-разработчик, то Web3 — это не просто очередной тренд, а настоящая революция, новая глава в вашей карьере. В мире, где каждый день появляются dApps (децентрализованные приложения), блокчейны и смарт-контракты, ваш опыт с такими технологиями может стать тем самым гейм-ченджером на рынке труда.
Почему Web3 стоит вашего внимания?
Во-первых, это шанс быть на передовой технологий. Web3 сейчас — это как золотая лихорадка первых лет интернета. Те, кто вникает в это сегодня, через несколько лет окажутся на пьедестале как эксперты, строящие будущее интернета. Поверьте, в уже современную эпоху dApps и DeFi экспертиза в Web3 будет очень востребована.
Во-вторых, это не просто расширение знаний, это настоящий прогресс в разработке. Вы больше не работаете только с традиционными серверами и API, а начинаете интегрировать интерфейсы с блокчейном, работаете с кошельками, настраиваете взаимодействие с MetaMask и делаете сложные операции с транзакциями понятными для пользователей. Внедрение новых решений — это не просто технический вызов, это UX/UI на совершенно новом уровне.
Какие перспективы открываются?
Здесь важно понимать, что ваши навыки выходят за пределы классического frontend’a. Компаниям уже недостаточно просто UI: вам нужно понимать, как работать с web3.js, ethers.js или near-api-js, настраивать RPC-запросы и даже разбираться в вопросах газовых затрат при транзакциях. Это требует хорошей базы, но зато и открывает новые горизонты для креативности и инноваций.
Frontend в Web3 — это не просто UI с красивыми кнопками, это UX, который обеспечивает доступность сложной технологии для пользователей. Вы — не просто кодер, вы тот, кто помогает людям взаимодействовать с блокчейном. Это роль, которая меняет саму суть frontend-разработки.
Как твой опыт работы в традиционном frontend’е помог освоить Web3?
Евгений: Хорошее понимание как работает интернет, основы Computer Science, знания криптографии. Знания JavaScript помогли быстрее изучить Solidity (т.к. он ЖС-подобный язык, имеет много общего).
Какие самые востребованные навыки Web3-разработчика ты выделил бы?
Евгений: Вообще они могут меняться от тренда к тренду, когда был хайп вокруг NFT — если ты умеешь быстро, качественно выполнить заказ (на NFT минт, например), то у тебя будет хороший поток клиентов, готовых заплатить очень хорошие деньги за пару часов/дней.
Если говорить про заказы на фрилансе — чем ты универсальнее, тем востребованнее, если говорить про компании, то тут важно знать хорошо основы, и не только Web3.
Когда вы начинаете работать с Web3, быстро становится понятно: это не просто очередной фреймворк или библиотека, это принципиально новая парадигма. Взаимодействие с блокчейнами, кошельками и смарт-контрактами требует совершенно другого подхода, отличающегося от того, что мы привыкли видеть в Web2.
Первый крупный вызов — это работа с самим блокчейном. Забываем про привычный REST API и начинаем работать с дистрибутивной сетью. Вместо того чтобы просто запрашивать данные с сервера, вам нужно понять, как информация записывается и сохраняется в сети. Web3.js, ethers.js и другие библиотеки дают нам возможность взаимодействовать с блокчейном, но они — это не просто набор методов. Это требует глубокого понимания таких концепций, как транзакции, блоки, «газ» и даже минтинг, ну или же просто чеканка. Тут вы не просто делаете запросы, а еще и манипулируете данными, которые могут стоить деньги.
Работа с транзакциями может стать настоящим вызовом. Ошибки с «газом» могут влететь пользователю в копеечку, а неверная реализация взаимодействия с смарт-контрактами может привести даже к потере средств. Именно поэтому интеграция смарт-контрактов требует особого внимания к безопасности и внимательности на каждом шаге. Вы должны понимать, как устроена логика работы контрактов, какие возможны уязвимости и как избежать ошибок, которые могут обернуться неприятностями для пользователя.
Когда дело доходит до подключения кошельков, вроде MetaMask или WalletConnect, становится очевидно, что Web3 — это не только про технические аспекты. Очень важно создать UX, который сделает взаимодействие с блокчейном интуитивно понятным для пользователей. Они не должны задумываться о том, как подключить кошелек или подписать транзакцию. Все должно быть максимально прозрачным и удобным.
Но на практике многие сталкиваются с такими понятиями, как «газ» или «gas fees», или несколько шагов для подтверждения транзакции, что может сильно запутать пользователя, если процесс не настроен правильно.
Как выглядит «газ» в Metamask:
Кроме того, с Web3 приходит новый уровень ответственности. Здесь безопасность выходит на первый план. Необходимо обеспечить надежную защиту данных пользователей и их личных ключей. Если ваш frontend-код уязвим, злоумышленники могут воспользоваться этим и получить доступ к средствам пользователя. Поэтому грамотная обработка данных и защита от уязвимостей — это то, на что необходимо делать акцент при создании Web3-приложений.
Вопросы безопасности в Web3 стоит рассматривать как приоритет. Например, работа с личными ключами и их безопасное хранение, а также защита от фишинга и других атак — это базовые требования для работы в этой сфере, в одной из наших прошлых статей мы упоминали инцидент с Atomic Wallet. Вы должны всегда помнить, что блокчейн-системы децентрализованы и открыты, а значит, ошибки в вашем коде могут привести к катастрофическим последствиям. Поэтому важно понимать, что ваша задача — не просто сделать интерфейс красивым, но и обеспечить его стойкость и безопасность.
Но несмотря на все эти вызовы, работа с Web3 — новые технологии и неизбежные, поэтому вопрос о важности отпадает.
Какие технические трудности ты чаще всего встречаешь при разработке Web3-приложений?
Евгений: Сейчас почти никаких, разработка Web3 приложений стала намного легче в последнее время, чем пару лет назад. Причина тому — большое количество хороших инструментов, которые покрывают большинство кейсов, используешь их как конструктор.
Как ты решаешь проблемы с пользовательским опытом, когда дело касается взаимодействия с блокчейном?
Евгений: Тут вопрос больше к UI/UX дизайнеру, но зачастую и они упускают некоторые детали. Самое главное — давать обратную связь пользователю о его действиях, например, если возникла какая-то ошибка(например не хватает баланса для оплаты комиссии), то пользователю важно подробно объяснить текстом через уведомления или текстом рядом с кнопкой, инпутом и тд.
Если транзакция выполнилась успешно, то нужно тоже давать об этом информацию пользователю, при это обновляя данные в интерфейсе (например, баланс кошелька, количество токенов и тд)
Как мы уже поняли, это не просто интеграция API — это полное взаимодействие с децентрализованной сетью, где каждый шаг может быть критически важным для пользователя.
— Смарт-контракты:
Смарт-контракты — это основа большинства Web3-приложений. Это своего рода «черные ящики», в которых автоматизируются все условия сделок и транзакций без участия посредников. Однако для frontend-разработчика тут появляется задача — наладить взаимодействие между пользователем и смарт-контрактом, сделав его интуитивно понятным и безопасным. И это не так просто, как подключение обычного API.
Когда создаете интерфейс для взаимодействия с контрактом, нужно понимать, что каждый шаг пользователя требует вашего внимания.
Подписание транзакций — это не просто «отправить запрос», как в традиционном вебе. В Web3 каждая транзакция может быть оплачена, иметь переменное время выполнения и даже быть отклонена. Поэтому в интерфейсе должно быть место для уведомлений о процессе транзакции — от ее начала до результата. И тут важно соблюсти баланс между UX и функциональностью.
Важно — пользователь должен всегда знать, что происходит с его транзакцией, не погружаясь в технические детали.
Для работы с контрактами есть много библиотек — например, ethers.js или web3.js. Эти библиотеки позволяют абстрагировать низкоуровневую работу с блокчейном, но интеграция смарт-контрактов на frontend’е требует внимания к деталям. Вы должны уметь не только корректно и безопасно подписывать транзакции, но и работать с событиями смарт-контрактов. Отслеживание изменений состояния и правильная синхронизация с интерфейсом — это уже дело высшего пилотажа.
Различия Web3.js и Ethers.js:
Особенно важно учитывать динамическое изменение данных. Например, если транзакция выполняется несколько минут, интерфейс должен отображать состояние этого процесса в реальном времени. Это требует знаний React, useState, useEffect и других инструментов для динамичного обновления UI, мы прикрепили гиперссылки к этим хукам для тех, кто хочет почитать об этом побольше.
— Популярные библиотеки и фреймворки:
Что касается инструментов, то здесь frontend-разработчики не остаются без выбора. Ethers.js и web3.js — это стандарт, но в последнее время все больше людей используют такие решения, как web3-react и wagmi. Эти библиотеки помогают не только интегрировать кошельки, но и управлять состоянием приложения в связке с Web3, автоматизируя процессы подключения и отслеживания изменений в сети. Они избавляют вас от необходимости вручную мониторить каждое изменение состояния контракта.
Web3-react:
Изучить web3-react с примерами можно в документации UniSwap.
Для динамичных Web3-приложений стоит обратить внимание на Next.js, который с его серверным рендерингом идеально подходит для работы с децентрализованными сетями. В связке с такими инструментами, как IPFS для хранения данных и The Graph для запросов, вы получаете полноценную экосистему для создания современных приложений.
Изучить Next.js можно в документации тут.
— Примеры успешных Web3-приложений:
Посмотрите на OpenSea:
В этих сервисах frontend не просто отображает данные — он активно взаимодействует с блокчейном. Например, в OpenSea все операции с NFT требуют синхронизации с блокчейном в реальном времени: от подтверждения транзакций до отображения состояния активов пользователя. В этих приложениях frontend фактически работает как мост между пользователем и децентрализованной сетью, что, безусловно, повышает требования к качеству интерфейса.
Какие инструменты ты рекомендуешь изучить для быстрого старта в Web3?
Евгений: Взаимодействие с блокчейном, смарт контрактами — viem.sh(аналог web3.js, ethers.js, более удобный и оптимизиованный от команды wagmi), wagmi.sh(тем более если на frontend части). Для подключения кошельков на сайте — RainbowKit, WalletConnect.
Какой проект из тех, над которыми ты работал, показал всю мощь Web3 с точки зрения frontend’a?
Евгений: Различные Defi проекты, тем более свапалки, криптозаемы.
Но если рассматривать все Web3 проекты с точки зрения frontend, то во всех них мне нравится простота авторизации: просто нужно подключить Web3 кошелек, со стороны пользователя — это очень быстро и удобно.
Именно здесь frontend становится не просто слоем, а важной частью, напрямую взаимодействующей с блокчейнами и смарт-контрактами. В отличие от серверной логики, где все держится на backend, в Web3 весь процесс интеграции — от подписания транзакций до взаимодействия с кошельками — ложится на frontend.
Список тулзов для Web3 разработчиков есть на Alchemy, там собрано более ста различных инструментов.
Как ты видишь будущее Web3 и роль frontend-разработчиков в этой сфере?
Евгений: Очень надеюсь, что Web3 станет реально децентрализованным (хотя с каждым днем надежда гаснет из-за жесткого регулирования правительств), т.к. это одна из самых важных концепций блокчейна (и самого Web3).
А также полностью внедрится ERC-4337, что станет для обычных Web2 пользователей новой мотивацией для использования Web3 приложений, т.к. это упростит вход в мир блокчейна.
Что ты бы посоветовал тем, кто только начинает?
Евгений: Изучить основы Bitcoin, что такое блокчейн и как он работает. Есть отличный плейлист на эту тему на ютубе. Понять, чем отличается Ethereum от Bitcoin, что такое EVM, смарт контракты, базовые ERC(20 - пользовательские токены, например USDT, WBTC. 721 - NFT), что такое GAS, посмотреть еще это видео.
Я считаю, это базовые знания для каждого кто работает с криптой, после этих знаний 80% вопросов отпадут.
Если кто хочет заняться разработкой смарт контрактов на Solidity то есть замечательный плейлист от Ильи Круковского.
А если вы хотите взаимодействовать с Web3 через frontend / backend часть, то в 7 вопросе, есть инструменты, которые вам пригодятся.
Дополнительные материалы:
1. https://ethereum.org/ — официальный сайт Ethereum, там куча полезных статей, бесплатных курсов.
2. https://docs.uniswap.org — документация по юнисвапу, если интересно узнать про самую популярную DeFi-свапалку или собираетесь с ней работать.
3. Супер полезный канал моего знакомого Арслана, там подборки статей, каналов, курсов на разные тематики.
Если интересно узнать более углубленно про какую-то технологию, то заглядывайте в ее документацию.