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

Хочете взяти участь у створенні проектів Web3? У цьому довіднику описано найпопулярніші шари та середовища розробки.

Ні для кого не секрет, що навколо цієї теми – Web3 – зараз досить багато галасу. Багато людей залишили свої робочі місця у FAANG і видатних стартапах, щоб розпочати новий старт у метавсесвіті Web3.

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

Щоб зробити цей довідник доступним, я розділю ресурси на окремі розділи.

І ці розділи:

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

Стек — це термін, який використовується для визначення певної комбінації технологій, які використовуються для досягнення певної мети. Будь то розробка з повним стеком або, в даному випадку, стек Web3. Варто зазначити, що технологія, задіяна у створенні додатків і продуктів Web3, досить «мінлива».

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

Якщо все звучить добре, ми можемо почати.

Шари

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

#1. Ethereum

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

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

#2. Багатокутник

The Багатокутник рівень — це сайд-чейн Ethereum, який пропонує більш складні методи безпеки, зберігаючи нижчі комісії за транзакції (газ). Це популярний вибір для проектів, де кількість транзакцій надзвичайно велика, але ціна транзакцій низька.

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

  Як додати годинник до сенсорної панелі на MacBook Pro

Інші відомі шари Web3:

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

Середовище для розробників

Середовище розробки дозволяє пропустити всю частину «почати з нуля». На даний момент вони в основному засновані на Ethereum.

#1. Каска

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

#2. трюфель

трюфель це платформа на основі JavaScript для створення смарт-контрактів. Передбачається, що ви використовуєте EVM (віртуальну машину Ethereum), що дає вам інструменти для прискорення процесу розробки. Деякі з цих інструментів включають автоматичне тестування, компілятор контрактів і окремі інструменти для доступу до ваших контактів безпосередньо з консолі.

Інші відомі середовища розробки Web3:

  • Ливарний цех. Набір інструментів на основі Rust для створення програм на Ethereum.
  • Брауні. Фреймворк на основі Python для створення та тестування смарт-контрактів.
  • Якір. Платформа для роботи з Solana, написана на Rust.
  • Посадка. Універсальний фреймворк для створення на основі Ethereum.
  • Вафля. Створена на замовлення структура для тестування смарт-контрактів.

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

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

#1. WalletConnect

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

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

#2. Ялина

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

Зберігання

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

  8 онлайн-сканерів портів для пошуку відкритих портів на сервері та IP

#1. IPFS

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

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

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

#2. Skynet

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

#2. Файлова база

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

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

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

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

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

API

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

#1. Графік

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

  Як скопіювати папки Google Диска

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

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

#2. Web3.js

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

#3. Алхімія

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

#4. useDApp

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

Інтерфейс

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

#1. Реагувати

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

Ви можете перевірити Бібліотека Web3-React на GitHub для надійної відправної точки.

#2. Далі

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

Для швидкого початку дивіться не далі, ніж Наступний Web3 Boilerplate.

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

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

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