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.

Ми маємо специфіку з підвищеними вимогами до безпеки: весь код проходить ревью, а користувач завжди бачить, яку дію підтверджує. Тому проблем з тим, щоби ми щось «провтикали» і з користувача зняли мільйон токенів, які до кінця життя компенсуватимемо ми й наші онуки, не було і бути не може.

Також Web3-розробник щодня взаємодіє зі смартконтрактами. Тому необхідно добре розуміти, що таке смартконтракт, як він працює, що таке 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 (понад $5 тис.) – колосальні гроші! Це відбувається через те, що в самому смартконтракті закладено складну логіку розрахунків. Іноді ми частину логіки переносимо на Node.js – виконуємо складні операції, прорахунки, а потім просто записуємо цю готову інформацію в контракт.

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

 

Виклики в роботі у блокчейн-компанії  

Я прийшов у Bitmedia Labs фулстек-розробником на проєкт в ігровому напрямі. Багатого досвіду у Web3 в мене не було: я здобув технічну освіту, вивчав програмування у київському політеху та потроху фрилансив. Потім ще два роки працював у стандартному Web2-напрямі: був фулстек-розробником у компанії, яка займається поліграфією.

На старті роботи у Bitmedia Labs практично з нуля переробляв ігровий проєкт, будував архітектуру. За рік власник компанії довірив мені позицію СТО. Із цього почалася моя кар’єра менеджера. Я збирав команду, вибудовував робочі процеси. Ми розпочинали з команди приблизно у 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-статті ви можете тут.

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

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

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