Чем отличается разработка 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. Уверен, что скоро таких примеров будет больше. Поэтому знание этих технологий очень ценно, на специалистов в сфере блокчейна будет большой спрос. 

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

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

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

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

Останні статті

Обучение Power BI – какие онлайн курсы аналитики выбрать

Сегодня мы поговорим о том, как выбрать лучшие курсы Power BI в Украине, особенно для…

13.01.2024

Work.ua назвал самые конкурентные вакансии в IТ за 2023 год

В 2023 году во всех крупнейших регионах конкуренция за вакансию выросла на 5–12%. Не исключением…

08.12.2023

Украинская IT-рекрутерка создала бесплатный трекер поиска работы

Unicorn Hunter/Talent Manager Лина Калиш создала бесплатный трекер поиска работы в Notion, систематизирующий все этапы…

07.12.2023

Mate academy отправит работников в 10-дневный оплачиваемый отпуск

Edtech-стартап Mate academy принял решение отправить своих работников в десятидневный отпуск – с 25 декабря…

07.12.2023

Переписки, фото, история браузера: киевский программист зарабатывал на шпионаже

Служба безопасности Украины задержала в Киеве 46-летнего программиста, который за деньги устанавливал шпионские программы и…

07.12.2023

Как вырасти до сеньйора? Девелопер создал популярную подборку на Github

IT-специалист Джордан Катлер создал и выложил на Github подборку разнообразных ресурсов, которые помогут достичь уровня…

07.12.2023