UA RU
logo

Чем отличается разработка Web 3.0 проектов от Web 2.0 и почему вам стоит переходить в блокчейн уже сейчас

В 2014 году Матвей Дядьков, который к тому моменту запустил несколько IT-проектов, увлекся блокчейном и криптовалютами. Он так поверил в новую технологию, что рискнул развивать бизнес в этой сфере и создал рекламный онлайн-сервис Bitmedia.io. Это аналог платформы Google Ads – только для криптопроектов. Сейчас им пользуются даже топовые биржи ОКЕХ и Bybit.  

За прошедшее время основанная Матвеем компания Bitmedia Labs запустила шесть блокчейн-проектов и растет даже сейчас, в жестких условиях «криптозимы».

В среде разработчиков считается, что блокчейн – очень денежная ниша и на Web3-проектах можно заработать больше, чем на обычных. Это подтверждает статистика DOU: медианная зарплата мидл-разработчика на блокчейн-проектах на 11% выше, чем у программистов по рынку, сеньора – почти на 15%. А зарплаты в крупных криптобиржах и блокчейн-компаниях не хуже, чем в FAANGпятерка мировых техногигантов: Facebook, Amazon, Apple, Netflix и Google.

Насколько представления о работе в блокчейне правдивы, как перейти в эту сферу без специфических знаний и каких специалистов ищут в Bitmedia Labs, в партнерском проекте рассказал журналистам Highload CTO компании Михаил Проценко.

Партнер проекта?

Три мифа о блокчейне

Начнем с убеждения, что в блокчейне разработчикам легко разбогатеть. Думаю, такое впечатление сложилось, потому что блокчейн – сложное, динамичное направление, в котором постоянно появляется что-то новое. Новые блокчейны, стандарты смарт-контракта. Ты должен постоянно что-то изучать, актуализировать свои знания, быть в теме. 

Михаил Проценко, CTO компании Bitmedia Labs

Но, как и везде, уровень заработка в этом направлении зависит не только от ниши продукта, а и от компании, опыта разработчика. Мы при найме не ставим ограничений и открыты к ожиданиям соискателя, всё зависит от знаний и умений – в первую очередь нам важны и нужны таланты. В процессе работы мы проводим регулярный Performance Reviewоценка продуктивности сотрудника – Ред., также у нас есть бонусная система для команды разработки. Если сотрудник работает с отдачей, он будет зарабатывать больше.

Другое распространенное заблуждение – что с началом «криптозимы» на блокчейне можно ставить крест. Это не так. Просто акцент сместился на другие проекты: метавселенные и NFT.

Мы тоже не стояли в стороне и решили запустить Web 3.0 NFT метавселенную с открытым игровым миром, возможностями для крафтингасоздание предметов с помощью умений, которыми владеет персонаж игры. – Ред. и креативной экономикой. Криптовалюты всем приелись, новые токены выпускать уже мало кому интересно, но в блокчейне есть множество других направлений работы. Крипта – лишь одна «ветка». 

И третий распространенный миф – якобы в блокчейн без знания специфических технологий, вроде языка программирования Solidity, не попасть. Тут важно понять, что такое Web3. Это не только работа с блокчейнами и смарт-контрактами. В любом Web3-приложении есть еще фронтенд и бэкенд, где не требуются специфические языки. Важно понимать архитектуру блокчейна и как с ней взаимодействовать, что такое смарт-контракты и как происходит взаимодействие Node.js с контрактом, как взаимодействует фронтенд на React с этими контрактами. 

Сравнение архитектуры приложений Web 2.0 и Web 3.0

Узнать больше о компании Bitmedia Labs.

 

Как работает фронтенд в Web 3.0

Игорь Лутенко

Три года назад на позицию джуниор фулстек-разработчика к нам пришел Игорь Лутенко. За спиной у него был опыт работы только с Web 2.0 сайтами. То есть, он не был знаком со спецификой блокчейна. Мы помогли разобраться с Web3, и где-то через два-три месяца он влился в работу. Это достаточно быстро, потому что с технической точки зрения разница между написанием фронтенда для Web2 и Web3 незначительная.

Разработчику точно так же нужно заботиться о том, что был удобный и понятный интерфейс для пользователя. Разница заключается в том, как приложения Web 2.0 и Web 3.0 обрабатывают данные – изменяется работа с мутацией данных. Если в Web 2.0 просто отправляются запросы от пользователя на бэкенд, то в Web 3.0 мутации данных нужно отправить транзакцию с вызовом смарт-контракта в блокчейн.

Например, покупка токена или NFT – это не просто отправить запрос в бэкенд, где он выполнился и вернулся через пару секунд. Необходимо сделать вызов смарт-контракта в блокчейн, где выполнение транзакции может занять от пары секунд до бесконечности. Транзакция может вообще никогда не выполниться. Фронтенд–разработчик должен учитывать это, когда проектирует архитектуру приложения.

Мы для написания фронтенда используем JavaScript-библиотеку React, с криптой она интегрируется с помощью библиотеки Web3.js. Для подключения к блокчейну мы должны предоставить библиотеке web3 так называемый провайдер. Это сущность, которая непосредственно будет обмениваться данными с узлом Ethereum на машинном языке – web3 переведет в него наши команды. Есть два способа получить этого провайдера. Первый – установить браузерное расширение Metamask, оно работает как прокси между вами и вашим адресом в сети, позволяя не инсталлировать свой полноценный узел. Второй – установить на локальную машину узел Ethereum. Для тестирования можно использовать его эмулятор, например Ganache.

У нас есть специфика с повышенными требованиями к безопасности: весь код проходит ревью, а пользователь всегда видит, какое действие подтверждает. Потому проблем с тем, чтобы мы что-то “провтыкали” и с пользователя сняли миллион токенов, которые до конца жизни будем компенсировать мы и наши внуки, не было и быть не может. 

Также Web 3.0 разработчик ежедневно взаимодействует со смарт-контрактами. Поэтому необходимо хорошо понимать, что такое смарт-контракт, как он работает, что такое ABI смарт-контракта и так далее. 

Посмотреть, какие вакансии есть в Bitmedia Labs можно на сайте.

 

Как работает бэкенд в Web 3.0 

Для бэкенда в проектах Bitmedia Labs мы выбрали Node.js – популярную программную платформу, которая транслирует JavaScript в машинный код, исполняемый на стороне сервера. Это развязывает руки: мы как компания довольно быстро можем найти разработчика, чтобы обучить его для работы в блокчейне. Кроме того, это довольно производительная система, под нее есть куча готовых модулей. 

Как и в случае с React, с помощью пакета Web3.js блокчейн очень просто интегрируется с Node. Из плюсов Node.JS можно отметить: высокую производительность, масштабируемость, простоту изучения, большое количество открытых библиотек. К минусам можно отнести низкую производительность при работе с тяжёлыми вычислительными задачами и однопоточность.

У нас в основном на Node.js происходит деплой смарт-контрактов, пишутся тесты для них. Если мы со своей стороны, со своего бэкенда хотим выполнять какие-то действия со смарт-контрактом, например, вызов приватных функций, которые недоступны обычным пользователям, все это делается со стороны Node.js.

Также из интересных моментов – работа с самим блокчейном. Например, нам часто приходится следить за выходом новых блоков, искать наши транзакции, сохранять их себе в систему. Такая работа – некий аналог etherscan: можно посмотреть все последние транзакции, блоки, которые вышли. Когда мы получаем транзакции, на Node.JS происходит обработка данных и сохранение в базу данных, с которой информация по API передается пользователю на страницу.

Также на Node.js часто реализовывается какая-нибудь очень дорогая логика смарт-контракта. На примере Ethereum мы знаем, что бывают ситуации, когда идет очень большая нагрузка на сеть, и комиссия взлетает до небес. У меня бывали случаи, когда комиссия за одну транзакцию составляла 3,3 ETH (более $5000) – колоссальные деньги! Это происходит из–за того, что в самом смарт–контракте заложена сложная логика расчетов. Иногда мы часть логики переносим на Node.js – выполняем там сложные операции, просчеты, а потом просто записываем эту готовую информацию в контракт.

Узнать больше о проектах Bitmedia Labs и какие технологии использует компания можно тут.

 

Вызовы в работе в блокчейн-компании  

Я пришел в Bitmedia Labs фулстек-разработчиком на проект в игровом направлении. Богатого опыта в Web3 у меня не было: я получил техническое образование и изучал программирование в киевском политехе, и понемногу фрилансил. Затем еще два года работал в стандартном Web 2.0 направлении: был фулстек-разработчиком в компании, которая занимается полиграфией. 

На старте работы в Bitmedia Labs практически с нуля переделывал игровой проект, строил архитектуру. Спустя год владелец компании доверил мне позицию СТО. C этого началась моя карьера менеджера. Я собирал команду, выстраивал рабочие процессы. Мы начинали с команды в примерно 30 человек, сегодня нас больше 80, из них больше 20 – команда разработки.  

Команда Bitmedia Labs

Конечно, бывают сложные моменты, например, с DDoS-атаками. У нас есть проект, который работает в сфере онлайн-гейминга – некий симулятор майнинга, где пользователи могут играть в игры, получать за это мощность и на выходе – реальную крипту, которую можно вывести на кошелек и использовать. На этом проекте сейчас зарегистрировано около 3 млн пользователей.

Так вот: бывают в этом проекте ботофермы. Мы их находим, блокируем, а нам потом начинают мстить. Один раз была такая DDoS-атака на наши сервера, что нагрузка возросла в несколько десятков раз. Все разрулили за несколько часов, но было страшно. Потому что у нас постоянно играют онлайн несколько десятков тысяч пользователей, и им неинтересны оправдания, что мы заблочили какую-то ботоферму. Они хотят видеть стабильную работу сервиса, иначе мы получаем тонну негатива.

Ознакомиться с вакансиями Bitmedia Labs и откликнуться на подходящие можно на сайте.

 

Как мы работаем сейчас и кого набираем в команду

В остальном все размеренно. Перемены ощущались только с началом полномасштабного вторжения россии: на проекты это не повлияло, а вот команде добавился лишний стресс. Компания была готова к разным сценариям развития ситуации, поэтому примерно за месяц мы полностью стабилизировали работу внутри Bitmedia Labs. Подробнее о нашей работе в этот период и о нашем благотворительном фонде можно почитать здесь.

Сейчас работаем в прежнем режиме и наблюдаем за ситуацией в мире. Пока непонятно, насколько затянется «криптозима». На ситуацию в крипте влияют политические моменты. Но в целом я вижу, что это направление будет развиваться. Многие банковские организации подают признаки того, что намерены интегрировать блокчейн в свои электронные сервисы, внедрить оплату криптовалютой. Такой вид оплаты уже работает в некоторых украинских торговых сетях, например, «Фокстрот» и Stylus. Уверен, что скоро таких примеров будет больше. Поэтому знание этих технологий очень ценно, на специалистов в сфере блокчейна будет большой спрос. 

Офис Bitmedia Labs
Офис Bitmedia Labs
Офис Bitmedia Labs
Офис Bitmedia Labs
Офис Bitmedia Labs
Офис Bitmedia Labs
Офис Bitmedia Labs

Наши проекты растут, количество пользователей все больше. Если брать суммарно, по всем проектам у нас около 8 млрд запросов в месяц. Наша команда за 2022-й выросла в два раза и продолжает расти, активно набираем людей на разные направления. Сейчас мы ищем JS-разработчиков (React, Node.js), Solidity-разработчиков. Мы набираем как джуниоров, так и сеньоров, иногда даже трейни – новичкам помогаем вникнуть в проект, обучаем.

На нашем сайте вы можете ознакомиться с вакансиями и откликнуться на подходящие.

Партнер проекта?

Присоединиться к команде Bitmedia Labs

Это партнерский материал. Информацию для этого материала предоставил партнер.
Редакция отвечает за соответствие стилистики редакционным стандартам.
Заказать материал о вас в формате PR-статьи вы можете здесь.

Ваша жалоба отправлена модератору

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: