Для початку давайте розповімо, що таке Web3.
У 2014 році співзасновник Ethereum Гевін Вуд вперше запропонував концепцію «Web3», забезпечивши вирішення проблеми надмірної довіри, якої вимагає Інтернет.
Незаперечним є той факт, що централізовані мережі допомогли мільярдам людей інтегруватися в Інтернет і побудували на ньому стабільну та надійну інфраструктуру. Однак в той же час кілька централізованих гігантів практично монополізували інтернет і можуть робити все, що їм заманеться. Web3 за допомогою блокчейну, криптовалюти та NFT повертає владу користувачам у формі власності.
Зараз Web3 став універсальним терміном, що представляє бачення оновленого та кращого Інтернету. Хоча важко дати чітке визначення Web3, зазвичай він має такі характеристики:
У книзі «Весняно-осінні літописи пана Льва» говориться: «Мудра людина планує відповідно до часу і діє, слідуючи тенденціям». Це означає, що розумні та далекоглядні люди будуть підготовлені та діятимуть швидко в потрібний час, приймаючи судження та рішення на основі обставин,
що склалися.Я вважаю, що Web3, безсумнівно, є трендом, але є суперечки про те, коли він насправді почався. Одні кажуть, що це почалося з появою Біткойн, інші стверджують, що це був дебют Ethereum. Я не зовсім згоден ні з тим, ні з іншим. Поява Біткойн ознаменувала початок усієї індустрії Web3, а поява Ethereum заклала основу для індустрії Web3. Однак я вважаю, що те, що справді підштовхнуло Web3 до того, щоб стати «силою», — це масовий вибух індустрії DeFi у 2020 році, який вивів блокчейн-додатки на фінансову сцену.
Для ознайомлення з DeFi ви можете звернутися до моєї попередньої статті «MakerDAO & Uniswap: еволюція Децентралізоване фінансування».
Починаючи з 2020 року, база користувачів усієї індустрії Web3 зазнала вибухового розширення. Окрім уповільнення розвитку у 2022 році через ведмежий ринок, кількість користувачів продовжувала зростання в інші роки. Я вірю, що у 2024 році, з халвінгом Біткойн та приходом ринку бик, база користувачів продовжить зростати, а висхідний тренд буде не зупинити.
Насправді, ставлення Гонконгу до Web3 також заслуговує на увагу. З 2023 року Гонконг часто випускає дружні сигнали щодо Web3:
Оскільки Web3 є трендом з 2020 року, найкращий час для приєднання до Web3 був чотири роки тому, а наступний найкращий час – зараз!
Оскільки я почав досліджувати Web3 у 2020 році та перейшов з Web2 на Web3 у 2022 році, я хотів би поділитися деяким особистим досвідом щодо того, чому розробники Web2 повинні вивчати Web3.
Власне, це питання нічим не відрізняється від питання «чому розробники, які не є ШІ, повинні вивчати ШІ». Я вважаю, що як розробники ми повинні перш за все постійно навчатися, тому що технологічна індустрія швидко розвивається, вимагаючи постійного навчання, щоб йти в ногу зі змінами та підтримувати нашу конкурентоспроможність.
Навчання включає в себе як глибину, так і широту, і обидва однаково важливі. Глибина, отриманий шляхом заглиблення в технічні деталі, допомагає вам стати експертом у своїй галузі, тоді як широта, досягнута шляхом відстеження технологічних тенденцій та вивчення суміжних галузей, дозволяє впроваджувати нові ідеї у вашу сферу знань, роблячи вашу роботу більш творчою.
Вивчення штучного інтелекту та Web3 тепер відбувається за тією ж логікою. Вивчаючи передові технології, ви можете розширити широту своїх технічних знань, подібно до вивчення мобільної розробки в перші роки. Однак, що відрізняє Web3 від цих двох, так це відсутність «переломного моменту».
Поява iPhone зробила революцію в мобільній індустрії, зробивши її «переломним моментом» для мобільних розробок. Поява ChatGPT дала волю уяві штучного інтелекту, зробивши його «переломним моментом» для ШІ. Однак Web3 ще не став свідком такої революційної інновації. Але це також означає, що Web3 є більш потенційно інноваційною галуззю. Якщо розробник Web2 зможе об'єднати свої існуючі технології та досвід для створення Web3, він зможе розвивати чудові інновації.
Вивчення Web3 як Web2-розробника має ще одну перевагу: на випадок, якщо Web2 застаріє в майбутньому, у вас буде запасний план.
Стек технологій Web3 наразі не має уніфікованого визначення. Я використовую панораму стека технологій Web3 від Alchemy, яка структурована знизу вгору наступним чином:
Коли ви вирішуєте стати Web3-розробником, вам потрібно розуміти, якому рівню стека технологій Web3 служать ваші навички.
Якщо ви обслуговуєте Мережевий шар, це означає, що вам потрібно розробити Layer1 або Layer2, які, як правило, асоціюються з лабораторіями або фондами. Необхідні навички дуже різняться, включаючи криптографію, алгоритми консенсусу, зберігання, мережу, мови та віртуальні машини. Інженерні навички залежать від архітектури та продуктивності ланцюга, і деякі ланцюги швидко будуються за допомогою Cosmos SDK або OpStack.
Якщо ви обслуговуєте рівень взаємодії Блокчейн, ви, як правило, працюєте на постачальників інфраструктурних послуг, таких як служби вузлів, служби аналізу даних і служби індексування. Цей рівень схожий на постачальників інфраструктурних послуг у Web2 (наприклад, хмарні сервіси), а ролі включають фронтенд, бекенд, дані, тестування та операції. Тому необхідні навички приблизно схожі. Можливо, для цього потрібні певні знання про мережеві інтерфейси блокчейну.
Якщо ви обслуговуєте шар презентації, ви надаєте розробникам інструменти розробки та бібліотеки, широко відомі як «лопати для продажу». Конкретні навички розробки залежать від форми продукту та типу розробників, які використовують сервіс. Наприклад, розробка IDE передбачає інтерфейси користувача, налаштування локальної мережі, складання контрактів та розгортання контрактів.
Якщо ви обслуговуєте DApps, переважна більшість потреб у розробці Web3 зосереджена в DApp розробці. Тому, коли ми говоримо про розробку Web3, ми в основному маємо на увазі DApp розробку. Я детально розповім про цей момент у наступному розділі.
Кожен повинен бути знайомий з традиційною архітектурою Інтернет-додатків, включаючи front-end, back-end і базу даних. Візьмемо для прикладу веб-сайт онлайн-магазину, користувач спочатку отримує доступ до інтерфейсу, наданого інтерфейсом, через браузер для виконання операцій, пов'язаних із покупками. Якщо користувач шукає певне ключове слово product, back-end відповідатиме за обробку відповідної логіки, тобто реагування на запит з фронтенду, і повернення необхідних даних у фронтенд після отримання бази даних. База даних забезпечує стабільне зберігання програми, включаючи всю інформацію про продукт та інформацію, пов'язану з користувачем (наприклад, вміст кошика для покупок).
Найбільша відмінність між DApps, побудованими на блокчейні, і традиційними додатками полягає в зміні ролей бекенда і бази даних. Смарт-контракти відіграють роль традиційного бекенду, а блокчейн замінює традиційні бази даних і забезпечує децентралізоване зберігання даних. Тісна співпраця між смартконтракти та блокчейном робить зберігання та отримання даних прозорим і складним для фальсифікації.
Тому навички DApp розробки в основному полягають у розробці front-end та смартконтракти. Навички, які необхідно освоїти, такі:
інтерфейсу фронтенду. Для frontend-інженерів з досвідом веб-розробки навички розробки інтерфейсу можна передавати. Є базові навички, такі як HTML, CSS та JavaScript, а також володіння сучасними фронтенд-фреймворками, такими як React та Vue;
Механізми аутентифікації та читання/запису даних. У DApps аутентифікація та керування користувачами реалізовані через блокчейн-гаманці (наприклад, MetaMask), тому потрібно навчитися інтегрувати інтерфейси гаманців. Зчитування/запис даних також здійснюється через у блокчейні API. Використання бібліотек JavaScript, таких як Ethers.js, дозволяє легко реалізувати механізми автентифікації та читання/запису даних.
Оскільки багато DApps є напівдецентралізованими, існує також попит на бекенд-розробку. Незважаючи на те, що навички бекенд-інженера можна передавати, оскільки це передбачає у блокчейні читання/запис даних, вам потрібно інтегрувати блокчейн SDK. Бажано використовувати мови розробки, такі як Go, Rust або Нода.js.
Для розробки контрактів на EVM ланцюжках основна увага приділяється вивченню мови Solidity. Новачкам рекомендується навчатися на таких платформах, як WTF Academy. Для розробки контрактів на не EVM ланцюгах потрібно вивчити конкретні мови в залежності від ланцюжка. Наприклад, для розробки смартконтракти на Solana потрібно вивчити Rust, а для розробки смартконтракти на Sui потрібно вивчити Sui Move. Однак навчальні ресурси наразі обмежені і можуть вимагати консультацій з відповідними офіційними веб-сайтами.
Поради щодо вивчення Web3
Web3 – це майбутнє. Web2-розробники, які досліджують цю сферу, будь то на стороні клієнта, фронтенду чи бекенду, можуть використовувати свої існуючі технічні переваги, розширити свої кар'єрні горизонти та підвищити свою креативність на роботі.
Однак поточна індустрія Web3 все ще дуже нестабільна. Багато людей гарячково женуться за нею, роблячи агресивні інвестиції, що часто може призвести до занепокоєння. Якщо ви твердо вирішили стати Web3-розробником, ви повинні свідомо блокувати деяку відволікаючу інформацію, зосередитися на самій технології та займатися лонг довгостроковими цінними справами. Такий підхід може краще допомогти вам розвиватися.
Для початку давайте розповімо, що таке Web3.
У 2014 році співзасновник Ethereum Гевін Вуд вперше запропонував концепцію «Web3», забезпечивши вирішення проблеми надмірної довіри, якої вимагає Інтернет.
Незаперечним є той факт, що централізовані мережі допомогли мільярдам людей інтегруватися в Інтернет і побудували на ньому стабільну та надійну інфраструктуру. Однак в той же час кілька централізованих гігантів практично монополізували інтернет і можуть робити все, що їм заманеться. Web3 за допомогою блокчейну, криптовалюти та NFT повертає владу користувачам у формі власності.
Зараз Web3 став універсальним терміном, що представляє бачення оновленого та кращого Інтернету. Хоча важко дати чітке визначення Web3, зазвичай він має такі характеристики:
У книзі «Весняно-осінні літописи пана Льва» говориться: «Мудра людина планує відповідно до часу і діє, слідуючи тенденціям». Це означає, що розумні та далекоглядні люди будуть підготовлені та діятимуть швидко в потрібний час, приймаючи судження та рішення на основі обставин,
що склалися.Я вважаю, що Web3, безсумнівно, є трендом, але є суперечки про те, коли він насправді почався. Одні кажуть, що це почалося з появою Біткойн, інші стверджують, що це був дебют Ethereum. Я не зовсім згоден ні з тим, ні з іншим. Поява Біткойн ознаменувала початок усієї індустрії Web3, а поява Ethereum заклала основу для індустрії Web3. Однак я вважаю, що те, що справді підштовхнуло Web3 до того, щоб стати «силою», — це масовий вибух індустрії DeFi у 2020 році, який вивів блокчейн-додатки на фінансову сцену.
Для ознайомлення з DeFi ви можете звернутися до моєї попередньої статті «MakerDAO & Uniswap: еволюція Децентралізоване фінансування».
Починаючи з 2020 року, база користувачів усієї індустрії Web3 зазнала вибухового розширення. Окрім уповільнення розвитку у 2022 році через ведмежий ринок, кількість користувачів продовжувала зростання в інші роки. Я вірю, що у 2024 році, з халвінгом Біткойн та приходом ринку бик, база користувачів продовжить зростати, а висхідний тренд буде не зупинити.
Насправді, ставлення Гонконгу до Web3 також заслуговує на увагу. З 2023 року Гонконг часто випускає дружні сигнали щодо Web3:
Оскільки Web3 є трендом з 2020 року, найкращий час для приєднання до Web3 був чотири роки тому, а наступний найкращий час – зараз!
Оскільки я почав досліджувати Web3 у 2020 році та перейшов з Web2 на Web3 у 2022 році, я хотів би поділитися деяким особистим досвідом щодо того, чому розробники Web2 повинні вивчати Web3.
Власне, це питання нічим не відрізняється від питання «чому розробники, які не є ШІ, повинні вивчати ШІ». Я вважаю, що як розробники ми повинні перш за все постійно навчатися, тому що технологічна індустрія швидко розвивається, вимагаючи постійного навчання, щоб йти в ногу зі змінами та підтримувати нашу конкурентоспроможність.
Навчання включає в себе як глибину, так і широту, і обидва однаково важливі. Глибина, отриманий шляхом заглиблення в технічні деталі, допомагає вам стати експертом у своїй галузі, тоді як широта, досягнута шляхом відстеження технологічних тенденцій та вивчення суміжних галузей, дозволяє впроваджувати нові ідеї у вашу сферу знань, роблячи вашу роботу більш творчою.
Вивчення штучного інтелекту та Web3 тепер відбувається за тією ж логікою. Вивчаючи передові технології, ви можете розширити широту своїх технічних знань, подібно до вивчення мобільної розробки в перші роки. Однак, що відрізняє Web3 від цих двох, так це відсутність «переломного моменту».
Поява iPhone зробила революцію в мобільній індустрії, зробивши її «переломним моментом» для мобільних розробок. Поява ChatGPT дала волю уяві штучного інтелекту, зробивши його «переломним моментом» для ШІ. Однак Web3 ще не став свідком такої революційної інновації. Але це також означає, що Web3 є більш потенційно інноваційною галуззю. Якщо розробник Web2 зможе об'єднати свої існуючі технології та досвід для створення Web3, він зможе розвивати чудові інновації.
Вивчення Web3 як Web2-розробника має ще одну перевагу: на випадок, якщо Web2 застаріє в майбутньому, у вас буде запасний план.
Стек технологій Web3 наразі не має уніфікованого визначення. Я використовую панораму стека технологій Web3 від Alchemy, яка структурована знизу вгору наступним чином:
Коли ви вирішуєте стати Web3-розробником, вам потрібно розуміти, якому рівню стека технологій Web3 служать ваші навички.
Якщо ви обслуговуєте Мережевий шар, це означає, що вам потрібно розробити Layer1 або Layer2, які, як правило, асоціюються з лабораторіями або фондами. Необхідні навички дуже різняться, включаючи криптографію, алгоритми консенсусу, зберігання, мережу, мови та віртуальні машини. Інженерні навички залежать від архітектури та продуктивності ланцюга, і деякі ланцюги швидко будуються за допомогою Cosmos SDK або OpStack.
Якщо ви обслуговуєте рівень взаємодії Блокчейн, ви, як правило, працюєте на постачальників інфраструктурних послуг, таких як служби вузлів, служби аналізу даних і служби індексування. Цей рівень схожий на постачальників інфраструктурних послуг у Web2 (наприклад, хмарні сервіси), а ролі включають фронтенд, бекенд, дані, тестування та операції. Тому необхідні навички приблизно схожі. Можливо, для цього потрібні певні знання про мережеві інтерфейси блокчейну.
Якщо ви обслуговуєте шар презентації, ви надаєте розробникам інструменти розробки та бібліотеки, широко відомі як «лопати для продажу». Конкретні навички розробки залежать від форми продукту та типу розробників, які використовують сервіс. Наприклад, розробка IDE передбачає інтерфейси користувача, налаштування локальної мережі, складання контрактів та розгортання контрактів.
Якщо ви обслуговуєте DApps, переважна більшість потреб у розробці Web3 зосереджена в DApp розробці. Тому, коли ми говоримо про розробку Web3, ми в основному маємо на увазі DApp розробку. Я детально розповім про цей момент у наступному розділі.
Кожен повинен бути знайомий з традиційною архітектурою Інтернет-додатків, включаючи front-end, back-end і базу даних. Візьмемо для прикладу веб-сайт онлайн-магазину, користувач спочатку отримує доступ до інтерфейсу, наданого інтерфейсом, через браузер для виконання операцій, пов'язаних із покупками. Якщо користувач шукає певне ключове слово product, back-end відповідатиме за обробку відповідної логіки, тобто реагування на запит з фронтенду, і повернення необхідних даних у фронтенд після отримання бази даних. База даних забезпечує стабільне зберігання програми, включаючи всю інформацію про продукт та інформацію, пов'язану з користувачем (наприклад, вміст кошика для покупок).
Найбільша відмінність між DApps, побудованими на блокчейні, і традиційними додатками полягає в зміні ролей бекенда і бази даних. Смарт-контракти відіграють роль традиційного бекенду, а блокчейн замінює традиційні бази даних і забезпечує децентралізоване зберігання даних. Тісна співпраця між смартконтракти та блокчейном робить зберігання та отримання даних прозорим і складним для фальсифікації.
Тому навички DApp розробки в основному полягають у розробці front-end та смартконтракти. Навички, які необхідно освоїти, такі:
інтерфейсу фронтенду. Для frontend-інженерів з досвідом веб-розробки навички розробки інтерфейсу можна передавати. Є базові навички, такі як HTML, CSS та JavaScript, а також володіння сучасними фронтенд-фреймворками, такими як React та Vue;
Механізми аутентифікації та читання/запису даних. У DApps аутентифікація та керування користувачами реалізовані через блокчейн-гаманці (наприклад, MetaMask), тому потрібно навчитися інтегрувати інтерфейси гаманців. Зчитування/запис даних також здійснюється через у блокчейні API. Використання бібліотек JavaScript, таких як Ethers.js, дозволяє легко реалізувати механізми автентифікації та читання/запису даних.
Оскільки багато DApps є напівдецентралізованими, існує також попит на бекенд-розробку. Незважаючи на те, що навички бекенд-інженера можна передавати, оскільки це передбачає у блокчейні читання/запис даних, вам потрібно інтегрувати блокчейн SDK. Бажано використовувати мови розробки, такі як Go, Rust або Нода.js.
Для розробки контрактів на EVM ланцюжках основна увага приділяється вивченню мови Solidity. Новачкам рекомендується навчатися на таких платформах, як WTF Academy. Для розробки контрактів на не EVM ланцюгах потрібно вивчити конкретні мови в залежності від ланцюжка. Наприклад, для розробки смартконтракти на Solana потрібно вивчити Rust, а для розробки смартконтракти на Sui потрібно вивчити Sui Move. Однак навчальні ресурси наразі обмежені і можуть вимагати консультацій з відповідними офіційними веб-сайтами.
Поради щодо вивчення Web3
Web3 – це майбутнє. Web2-розробники, які досліджують цю сферу, будь то на стороні клієнта, фронтенду чи бекенду, можуть використовувати свої існуючі технічні переваги, розширити свої кар'єрні горизонти та підвищити свою креативність на роботі.
Однак поточна індустрія Web3 все ще дуже нестабільна. Багато людей гарячково женуться за нею, роблячи агресивні інвестиції, що часто може призвести до занепокоєння. Якщо ви твердо вирішили стати Web3-розробником, ви повинні свідомо блокувати деяку відволікаючу інформацію, зосередитися на самій технології та займатися лонг довгостроковими цінними справами. Такий підхід може краще допомогти вам розвиватися.