Стек Web3: довідник для розробників

Бажаєте долучитися до створення проєктів Web3? Цей посібник пропонує огляд найпопулярніших рівнів та інструментів розробки.

Не секрет, що тема Web3 зараз на піку популярності. Чимало фахівців залишають роботу в великих корпораціях та успішних стартапах, щоб розпочати новий шлях у метавсесвіті Web3.

Якщо вас також цікавить ця сфера, виникає питання: з чого почати? Ця стаття – для тих, хто прагне одразу перейти до розробки Web3. Ми розглянемо різні категорії, надаючи корисні ресурси для початку вашої подорожі.

Для зручності цей довідник розділено на окремі розділи.

Ось ці розділи:

  • Рівні. Найпоширеніші блокчейни, які використовуються у розробці.
  • Інструменти розробника. Засоби, що спростять розгортання проєктів на цих рівнях.
  • Ідентифікація. Методи створення гаманців та застосування крипто-авторизації.
  • Зберігання. Створення постійних сховищ даних за допомогою технології P2P.
  • API. Прямий доступ до основних мереж для отримання інформації.
  • Інтерфейс. Популярні фреймворки для розробки зовнішнього вигляду.

Термін “стек” означає комбінацію технологій, що використовуються для досягнення конкретної мети. Це може бути повноцінна розробка або, у нашому випадку, стек Web3. Слід зазначити, що технології, що використовуються для створення додатків та продуктів Web3, постійно розвиваються.

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

Якщо вас зацікавило, давайте почнемо.

Рівні

Основа будь-якого проєкту Web3 починається з вибору рівня, тобто конкретної блокчейн-мережі, де працюватиме ваш додаток або продукт.

#1. Ethereum

Ethereum здобув визнання завдяки своїй інноваційній концепції смарт-контрактів.

З того часу розробники зробили його найкращим блокчейн-рівнем для створення Web3-додатків нового покоління. Ethereum також є чудовим вибором для багатьох NFT-проєктів. Тож, якщо ви зацікавлені у створенні NFT-додатків, Ethereum має багато можливостей.

#2. Polygon

Polygon – це сайдчейн Ethereum, що пропонує вдосконалені методи безпеки зі зниженими комісіями за транзакції. Це популярний вибір для проєктів із великою кількістю транзакцій, де ціна транзакцій є низькою.

Оскільки Polygon є сайдчейном, його також часто називають блокчейном рівня 2. Проте швидкий розвиток Polygon робить його затребуваним не лише для NFT-додатків, але й для dApps та платіжних систем.

Інші популярні рівні Web3:

  • Solana. Блокчейн, створений для масштабованих DeFi-додатків.
  • NEAR Protocol. Блокчейн зі смарт-контрактами та значними ресурсами для розробників.
  • Polkadot. Крос-блокчейн-протокол для проєктів управління.
  • Tezos. Енергоефективна платформа для децентралізованих творчих платформ.
  • Fantom. Платформа смарт-контрактів з відкритим вихідним кодом для створення dApps.

Інструменти розробника

Середовища розробки дозволяють пропустити етап “початку з нуля”. Наразі більшість із них засновані на Ethereum.

#1. Hardhat

Hardhat – це середовище розробки для Ethereum. Воно допомагає розробникам автоматизувати процес створення та компіляції децентралізованих програм, а також смарт-контрактів. Його популярність пояснюється вбудованою мережею Hardhat, локальною копією мережі Ethereum, яку можна використовувати для тестування додатків.

#2. Truffle

Truffle – це платформа на JavaScript для розробки смарт-контрактів. Вона призначена для використання EVM (віртуальної машини Ethereum) та надає інструменти для прискорення процесу розробки. Серед цих інструментів автоматизоване тестування, компілятор контрактів та окремі інструменти для доступу до контрактів безпосередньо з консолі.

Інші популярні інструменти розробки Web3:

  • Foundry. Набір інструментів на Rust для створення програм на Ethereum.
  • Brownie. Фреймворк на Python для створення та тестування смарт-контрактів.
  • Anchor. Платформа для роботи з Solana, написана на Rust.
  • Embark. Універсальний фреймворк для створення на основі Ethereum.
  • Waffle. Кастомний фреймворк для тестування смарт-контрактів.

Ідентичність

На відміну від традиційної аутентифікації за допомогою імені користувача та пароля, у Web3 розробники використовують гаманці та відкриті ключі.

#1. WalletConnect

WalletConnect – це протокол з відкритим вихідним кодом для підключення до dApps через мобільний гаманець. Основна концепція використання WalletConnect полягає в скануванні QR-коду, за допомогою якого користувачі підтверджують свою особу та схвалюють нове підключення до програми Web3.

Такі гаманці, як Pillar або MetaMask, інтегровані безпосередньо з WalletConnect. Це також означає доступ до великої кількості ресурсів для розробників. Протокол працює з усіма основними блокчейнами, і постійно додаються нові.

#2. Spruce

Spruce – це стартап, підтриманий Y Combinator, який має на меті розширити концепцію децентралізованої ідентичності за межі блокчейну. Цей набір інструментів допомагає користувачам підтвердити свою цифрову ідентичність у різних середовищах: соціальних мережах, персональних вебсайтах та блокчейн-мережах.

Зберігання

Як зберігати медіафайли – відео, фотографії – у Web3? Здебільшого це здійснюється за допомогою протоколів зберігання файлів P2P.

#1. IPFS

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

Після цього інші вузли (системи або користувачі), що входять до цієї мережі, можуть отримати доступ до файлу, перевірити його та зберегти у своєму кеші. Після кешування файл стає доступним для всіх, хто має потрібний метод доступу.

Мета IPFS не лише в забезпеченні децентралізованої системи зберігання, а й у гарантуванні довговічності контенту. Наприклад, з часом вебсайт зникає, і весь його вміст, включно з медіафайлами, втрачається. IPFS пропонує реальне рішення цієї проблеми.

#2. Skynet

Skynet забезпечує зручний обмін файлами за допомогою (децентралізованої) хмарної мережі Sia. Ви можете використовувати його прямо з головної сторінки: просто завантажте файл, і отримаєте посилання, дійсне протягом 90 днів (якщо ви не зареєструєте свій ключ API). У контексті розробки, Skynet спрощує повторення того самого випадку використання у вашому децентралізованому додатку.

#3. Filebase

Filebase – це стартап SaaS, що забезпечує прямий зв’язок з Amazon S3 API. Ви можете використовувати цей API для отримання даних зі своїх сегментів S3, а потім перерозподіляти їх між різними варіантами децентралізованого зберігання.

Наразі Filebase підтримує такі варіанти зберігання Web3, як Skynet, IPFS, Sia та Storj. Це означає, що ви можете спростити процес надання послуг децентралізованого зберігання файлів для своїх клієнтів.

Нові користувачі отримують 5 ГБ пам’яті безкоштовно, а платні плани є доступними.

Інші популярні рішення для зберігання Web3:

  • Arweave. Протокол, що дозволяє зберігати дані постійно та надійно за єдину фіксовану плату.
  • Filecoin. Зберігання медіафайлів у децентралізованому хмарному середовищі.
  • Swarm. Самодостатній вузол зберігання P2P, що стимулюється смарт-контрактами Ethereum.
  • Aleph. Створення dApps з використанням хмарного сховища Aleph.

API

Замість традиційних баз даних, розробники використовують API для взаємодії з блокчейном та запитів/збереження даних. API також іноді називають клієнтами.

#1. The Graph

The Graph – це комплексне API-рішення для підключення до різних блокчейнів. Мета цього API – допомогти розробникам отримати доступ до даних, які інакше потребували б створення окремих алгоритмів. Наприклад, дані в блокчейні можуть бути від простих адрес до складних транзакцій на основі смарт-контрактів.

Прикладом може бути відстеження історії NFT.

Хоча історію окремих покупок можна відстежити доволі легко, складніше зрозуміти зв’язок між різними покупками. API Graph надає готові виклики та каталоги індексів для швидкої візуалізації конкретного випадку використання.

#2. Web3.js

Web3.js – найпопулярніший API JavaScript для взаємодії з Ethereum. Він в основному використовується для розробки клієнтських програм, що взаємодіють з мережею Ethereum. Колекція підбібліотек, що входять до Web3.js, надає функції переказу, управління смарт-контрактами тощо.

#3. Alchemy

Alchemy швидко стала однією з найавторитетніших платформ Web3. Їхній підхід полягає в наданні розробникам інструментів для швидкого створення та масштабування Web3-додатків. Вони роблять це, пропонуючи складний Blockchain API та набір інструментів розробника.

#4. useDApp

useDApp – це платформа на основі React для взаємодії з блокчейном Ethereum. Вона складається з компонентів React.js, бібліотеки Ethers.js, Waffle та Web-3 React. Зазвичай вона використовується для створення інтерфейсів вебсайтів з легким доступом, які можуть відображати різні запити даних залежно від потреб вашого проєкту.

Інтерфейс

Які фреймворки використовують розробники для створення зовнішніх інтерфейсів проєктів Web3?

#1. React

Популярність React не має рівних. Не дивно, що це також найпопулярніша інтерфейсна бібліотека для сайтів Web3. Архітектура, що базується на компонентах, дозволяє розробникам працювати над кількома частинами інтерфейсу, не порушуючи основний дизайн.

Перегляньте бібліотеку Web3-React на GitHub як надійну відправну точку.

#2. Next.js

Next.js є наступником React, хоча жодна з них не пов’язана безпосередньо. Великі Web3-проєкти вимагають значного управління ресурсами, і Next.js пропонує інструменти для статичних та динамічних проєктів. Next.js використовують такі компанії, як Binance, Bitscreener, Hashnode та інші.

Для швидкого старту перегляньте Next Web3 Boilerplate.

Початок роботи з розробкою Web3

Навчання може здатися складним, особливо якщо ви новачок. Справа в тому, що ця сфера постійно розвивається. Хоча перші проєкти були пов’язані з NFT, зараз більше уваги приділяється децентралізованим мережам та окремим блокчейн-платформам.

Цей довідник – хороша відправна точка для початку роботи з проєктом Web3. Також рекомендую слідкувати за новинами в Twitter та Discord, оскільки це дві найактивніші спільноти, де можна бути в курсі останніх тенденцій Web3.