В 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-разработчиков. Мы набираем как джуниоров, так и сеньоров, иногда даже трейни – новичкам помогаем вникнуть в проект, обучаем.
На нашем сайте вы можете ознакомиться с вакансиями и откликнуться на подходящие.
Это партнерский материал. Информацию для этого материала предоставил партнер.
Редакция отвечает за соответствие стилистики редакционным стандартам.
Заказать материал о вас в формате PR-статьи вы можете здесь.
Сообщить об опечатке
Текст, который будет отправлен нашим редакторам: