Стек Web3: справочник для разработчиков
Опубликовано: 2022-04-11Хотите принять участие в создании проектов Web3? В этом справочнике будут описаны наиболее популярные слои и среды разработки.
Не секрет, что вокруг этой темы – Web3 – сейчас много шума. Многие люди оставили свою работу в FAANG и известных стартапах, чтобы начать новую жизнь в метавселенной Web3.
И, если предположить, что вы чувствуете подобный зуд — с чего начать? Эта статья полностью посвящена тем, кто хочет сразу приступить к разработке Web3. Мы сосредоточимся на различных категориях, каждая из которых содержит ценные ресурсы для начала вашего путешествия.
Чтобы сделать этот справочник доступным, я разделю ресурсы на отдельные разделы.
И эти разделы:
- Слои. Самые популярные блокчейны, используемые в разработке.
- Среда разработки. Инструменты, которые помогут вам выполнить развертывание на этих уровнях.
- Личность. Как создать учетную запись кошелька и использовать крипто-вход.
- Хранилище. Создание постоянного хранилища данных с использованием технологии P2P.
- API. Прямой доступ к основным сетям для получения информации.
- Внешний интерфейс. Популярные фреймворки для фронтенда.
Стек — это термин, используемый для определения конкретной комбинации технологий, используемых для достижения конкретной цели. Будь то разработка полного стека или, в данном случае, стек Web3. Стоит отметить, что технология, используемая для создания приложений и продуктов Web3, довольно «изменчива».
В том смысле, что многое меняется по мере того, как все больше людей осваивают создание программного обеспечения на блокчейне. Итак, наша цель в этой ссылке — упомянуть ресурсы, которые уже использовались в реальных проектах.
Если все это звучит хорошо, мы можем начать.
Слои
Основа любого проекта Web3 начинается со слоя . Конкретная сеть блокчейнов, в которой будет работать ваше приложение или продукт.
№1. Эфириум
Эфириум стал популярным благодаря своему собственному предложению смарт-контрактов.
С тех пор разработчики сделали его предпочтительным уровнем блокчейна для создания приложений Web3 следующего поколения. Это также предпочтительный уровень для многих проектов NFT, поэтому, если вы чувствуете, что хотите работать над приложениями, связанными с NFT, Ethereum может многое предложить из коробки.
№ 2. Полигон
Слой Polygon — это сайдчейн Ethereum, предлагающий более сложные методы безопасности при сохранении более низких комиссий за транзакции ( газ ). Это популярный выбор для проектов, где количество транзакций чрезвычайно велико, но цена транзакций низкая.
Поскольку Polygon является боковой цепью, его также часто называют блокчейном 2-го уровня. Однако быстрое развитие Polygon делает его популярным выбором не только для приложений NFT, но и для dApps и платежных систем.
Другие известные слои Web3:
- Солана. Блокчейн, созданный специально для масштабного создания приложений DeFi.
- Протокол NEAR. Блокчейн смарт-контрактов с огромными ресурсами разработчиков.
- В горошек. Кросс-блокчейн протокол для проектов управления зданиями.
- Тезос. Энергоориентированная платформа для создания децентрализованных творческих платформ.
- Фантом. Платформа смарт-контрактов с открытым исходным кодом для создания dApps.
Среда разработки
Среда разработки позволяет пропустить всю часть «начать с нуля». В настоящее время они в основном основаны на Ethereum.
№1. Каска
Hardhat — это среда разработки для разработчиков Ethereum. Он работает, помогая разработчикам автоматизировать процесс создания и объединения децентрализованных приложений, а также смарт-контрактов. Его популярность проистекает из встроенной сети Hardhat Network, копии сети Ethereum один к одному, которую вы можете использовать для локального тестирования своих приложений.
№ 2. Трюфель
Truffle — это основанный на JavaScript фреймворк для создания смарт-контрактов. Предполагается, что вы используете EVM (виртуальную машину Ethereum), что дает вам инструменты для ускорения процесса разработки. Некоторые из этих инструментов включают автоматическое тестирование, компилятор контрактов и отдельные инструменты для доступа к вашим контактам непосредственно из консоли.
Другие известные среды разработки Web3:
- Литейный завод. Набор инструментов на основе Rust для создания приложений на Ethereum.
- Брауни. Фреймворк на основе Python для создания и тестирования смарт-контрактов.
- Якорь. Фреймворк для работы с Solana, написанный на Rust.
- Отправляйтесь. Универсальный фреймворк для построения поверх Ethereum.
- Вафля. Специально созданная среда для тестирования смарт-контрактов.
Личность
В отличие от традиционной аутентификации по имени пользователя и паролю, в Web3 разработчики реализуют использование как кошельков, так и открытых ключей.
№1. WalletConnect
WalletConnect — это протокол с открытым исходным кодом, используемый для подключения к dApps через мобильный кошелек. Основная концепция использования WalletConnect заключается в сканировании QR-кода, который пользователи затем могут использовать для подтверждения своей личности и подтверждения нового подключения к приложению Web3.
Если вы знаете такие кошельки, как Pillar или MetaMask, — все они напрямую интегрируются с WalletConnect. Это также означает, что у вас есть доступ к большому количеству ресурсов для разработчиков. И последнее, но не менее важное: протокол работает со всеми основными цепочками блоков, при этом часто добавляются новые цепочки.
№ 2. Ель
Spruce — это стартап, поддерживаемый Y Combinator, целью которого является внедрение концепции децентрализованной идентификации в области за пределами блокчейна. Этот комплект призван помочь пользователям подтвердить свою цифровую личность в различных средах: социальных сетях, личных веб-сайтах и сетях блокчейна.
Хранилище
Как вы храните медиафайлы — видео, фотографии и т. д. — в Web3? В основном это делается с использованием протоколов хранения файлов P2P.
№1. ИПФС
IPFS — это ведущий в мире протокол хранения P2P (одноранговая сеть). Как только вы загружаете файл в IPFS, этот файл затем изменяется в размере, защищается с помощью пользовательского хэша и назначается отпечаток пальца в качестве его уникального идентификатора.
После этого другие узлы (системы или люди), являющиеся частью этой сети, могут получить доступ к файлу, проверить его и сохранить в своем кэше. После кэширования файл доступен любому, у кого есть правильный метод доступа.
В конечном счете, цель IPFS — не просто предоставить децентрализованную систему хранения. Но также и для того, чтобы контент имел продолжительность в несколько десятилетий, а не лет. Например, веб-сайт исчезает через некоторое время, и все его содержимое, включая медиа, теряется. IPFS предлагает реальное решение этой проблемы.
№ 2. Скайнет
Skynet обеспечивает доступный обмен файлами с использованием облачной сети Sia (децентрализованной). На самом деле вы можете использовать его прямо с главной страницы. Просто загрузите файл, и вы получите ссылку. Он длится 90 дней, если вы не подпишетесь на свой ключ API. Тем не менее, в контексте разработки — Skynet позволяет вам легко воспроизвести тот же вариант использования, но в вашем собственном децентрализованном приложении.
№ 2. Файловая база
Filebase — это стартап SaaS, который обеспечивает прямую связь с Amazon S3 API. Вы можете использовать этот API для извлечения данных из корзин S3, а затем перераспределять их между различными вариантами децентрализованного хранилища.
В настоящее время Filebase поддерживает варианты хранения на основе Web3, такие как Skynet, IPFS, Sia и Storj и другие. Как разработчик это означает, что вы можете упростить процесс предоставления услуг децентрализованного хранения файлов для своих клиентов.
Вы также получаете 5 ГБ свободного места в качестве нового пользователя, хотя цены разумны даже для платных планов.
Другие известные решения для хранения Web3:
- Арткать. Arweave — это протокол, который позволяет вам хранить данные постоянно и надежно с единовременной предоплатой.
- Файлкойн. Храните любые медиафайлы в децентрализованной облачной среде.
- Рой. Самодостаточный узел хранения P2P, который стимулируется смарт-контрактами Ethereum.
- Алеф. Создавайте dApps и позвольте Aleph управлять облачным хранилищем для вас.
API
В отличие от традиционного стека на основе базы данных, разработчики используют API для взаимодействия с блокчейном и либо запрашивают, либо сохраняют в нем данные. API также иногда называют Клиентами .
№1. График
The Graph — это комплексное API-решение для подключения к различным блокчейнам. Цель этого API — помочь разработчикам получить доступ к данным, которые в противном случае потребовали бы создания отдельных алгоритмов. Например, точки данных в блокчейне происходят от простых адресов до сложных транзакций, основанных на смарт-контрактах.
Примером этого может быть отслеживание истории NFT.
Хотя индивидуальную историю покупок можно отследить довольно легко, это становится все труднее, когда вы пытаетесь понять отношения к различным покупкам. В таком случае Graph API предоставляет готовые вызовы и индексные каталоги, которые помогут вам быстро визуализировать конкретный вариант использования.
№ 2. Web3.js
Web3.js — самый популярный API JavaScript для прямого взаимодействия с Ethereum. В основном он используется для разработки клиентских приложений, которые взаимодействуют с цепочкой Ethereum. Коллекция подбиблиотек, включенных в Web3.js, предоставляет такие функции, как переводы, управление смарт-контрактами и многое другое.
№3. Алхимия
Alchemy быстро стала одной из самых уважаемых платформ Web3. Их подход заключается в обучении разработчиков тому, как быстро создавать и масштабировать приложения Web3. И они могут сделать это, предоставив сложный API-интерфейс Blockchain и набор инструментов разработчика.
№ 4. использоватьDApp
useDApp — это фреймворк на основе React для взаимодействия с блокчейном Ethereum. Он состоит из React.js, библиотеки Ethers.js, компонентов Waffle и Web-3 React. Обычно он используется для создания легкодоступных интерфейсов веб-сайтов, которые могут отображать различные запросы данных в зависимости от потребностей вашего проекта.
Внешний интерфейс
Какие фреймворки используют разработчики для создания интерфейсов переднего плана для проектов Web3?
№1. Реагировать
Популярность React не имеет себе равных. И неудивительно, что это также самая популярная интерфейсная библиотека для сайтов Web3. Компонентно-ориентированная архитектура означает, что разработчики могут работать над несколькими частями внешнего интерфейса, не вмешиваясь в основной дизайн.
Вы можете проверить библиотеку Web3-React на GitHub для надежной отправной точки.
№ 2. Следующий
Next.js является преемником React, хотя ни один из них не связан напрямую. Крупномасштабные проекты Web3 требуют огромного управления ресурсами, и Next.js поставляется в комплекте с собственными инструментами как для статических, так и для динамических проектов и используется такими компаниями, как Binance, Bitscreener, Hashnode и другими.
Для быстрого старта не ищите ничего, кроме Next Web3 Boilerplate.
Начало разработки Web3
Это довольно много, особенно если вы только начинаете. Дело в том, что в этой сфере все меняется довольно быстро. Хотя все первоначальные проекты были связаны с NFT, в наши дни больше внимания уделяется децентрализованным сетям и отдельным блокчейн-платформам.
Что касается начала работы с проектом Web3, этой ссылки должно быть достаточно. Я также рекомендую оставаться в курсе как Twitter, так и Discord, так как это два самых активных сообщества, которые следят за последними тенденциями Web3.