Перейти к основному содержимому

3 записи с тегом "dApp"

Децентрализованные приложения

Посмотреть все теги

Создание безгазовых взаимодействий с Sui Paymaster: Архитектура и руководство по реализации

· 10 мин. чтения
Dora Noda
Software Engineer

Представьте себе мир, где пользователи могут беспрепятственно взаимодействовать с вашим dApp, не имея нативных токенов (SUI). Это больше не далёкая мечта. С помощью Gas Station Sui (также известного как Paymaster) разработчики могут покрывать комиссии за газ от имени своих пользователей, полностью устраняя один из самых больших барьеров для новичков в Web3 и обеспечивая по-настоящему беспрепятственный ончейн-опыт.

Эта статья представляет собой полное руководство по обновлению вашего dApp до безгазового состояния. Мы подробно рассмотрим основные концепции Sui Paymaster, его архитектуру, шаблоны реализации и лучшие практики.

1. Предыстория и основные концепции: Что такое спонсируемая транзакция?

В мире блокчейна каждая транзакция требует сетевой комиссии, или «газа». Для пользователей, привыкших к бесшовному опыту Web2, это является значительным когнитивным и операционным препятствием. Sui решает эту проблему на уровне протокола с помощью спонсируемых транзакций.

Основная идея проста: позволить одной стороне (Спонсору) оплачивать комиссии за газ SUI для транзакции другой стороны (Пользователя). Таким образом, даже если у пользователя нет SUI в кошельке, он всё равно может успешно инициировать ончейн-действия.

Paymaster ≈ Газовая станция

В экосистеме Sui логика спонсирования транзакций обычно обрабатывается офчейн- или ончейн-сервисом, называемым Gas Station или Paymaster. Его основные обязанности включают:

  1. Оценка транзакции: Он получает данные безгазовой транзакции пользователя (GasLessTransactionData).
  2. Предоставление газа: Он блокирует и выделяет необходимую комиссию за газ для транзакции. Обычно это управляется через газовый пул, состоящий из множества объектов SUI Coin.
  3. Генерация подписи спонсора: После одобрения спонсорства Gas Station подписывает транзакцию своим приватным ключом (SponsorSig), подтверждая свою готовность оплатить комиссию.
  4. Возврат подписанной транзакции: Он отправляет обратно TransactionData, которая теперь включает данные о газе и подпись спонсора, чтобы дождаться окончательной подписи пользователя.

Короче говоря, Gas Station действует как служба заправки для пользователей вашего dApp, гарантируя, что их «транспортные средства» (транзакции) могут беспрепятственно перемещаться по сети Sui.

2. Высокоуровневая архитектура и поток взаимодействия

Типичная безгазовая транзакция включает координацию между пользователем, фронтендом dApp, Gas Station и полной нодой Sui. Последовательность взаимодействия следующая:

Разбор потока:

  1. Пользователь выполняет действие в пользовательском интерфейсе dApp, которое формирует пакет данных транзакции без какой-либо информации о газе.
  2. dApp отправляет эти данные в свою назначенную Gas Station для запроса спонсорства.
  3. Gas Station проверяет действительность запроса (например, проверяет, имеет ли пользователь право на спонсорство), затем заполняет транзакцию Gas Coin и своей подписью, возвращая полузавершенную транзакцию dApp.
  4. Пользователь видит полные детали транзакции в своём кошельке (например, «Купить один NFT») и предоставляет окончательную подпись. Это важный шаг, который гарантирует, что пользователь сохраняет согласие и контроль над своими действиями.
  5. dApp транслирует полную транзакцию, содержащую подписи как пользователя, так и спонсора, в полную ноду Sui.
  6. После завершения транзакции в сети Gas Station может подтвердить это, прослушивая ончейн-события или квитанции, а затем уведомить бэкенд dApp через вебхук, чтобы завершить бизнес-процесс.

3. Три основные модели взаимодействия

Вы можете использовать следующие три модели взаимодействия по отдельности или в комбинации, чтобы соответствовать вашим бизнес-потребностям.

Модель 1: Инициировано пользователем → Одобрено спонсором (наиболее распространённая)

Это стандартная модель, подходящая для подавляющего большинства взаимодействий внутри dApp.

  1. Пользователь формирует GasLessTransactionData: Пользователь выполняет действие внутри dApp.
  2. Спонсор добавляет GasData и подписывает: Бэкенд dApp отправляет транзакцию в Gas Station, которая одобряет её, прикрепляет Gas Coin и добавляет свою подпись.
  3. Пользователь просматривает и даёт окончательную подпись: Пользователь подтверждает окончательные детали транзакции в своём кошельке и подписывает её. Затем dApp отправляет её в сеть.

Эта модель обеспечивает отличный баланс между безопасностью и пользовательским опытом.

Модель 2: Аирдропы/стимулы, инициированные спонсором

Эта модель идеально подходит для аирдропов, пользовательских стимулов или пакетного распределения активов.

  1. Спонсор предварительно заполняет TransactionData + подписывает: Спонсор (обычно команда проекта) предварительно формирует большую часть транзакции (например, аирдроп NFT на определённый адрес) и прикрепляет свою спонсорскую подпись.
  2. Вторая подпись пользователя делает её действительной: Пользователю достаточно подписать эту «предварительно одобренную» транзакцию один раз, чтобы она была выполнена.

Это создаёт чрезвычайно плавный пользовательский опыт. Всего одним щелчком для подтверждения пользователи могут получать награды или выполнять задания, что значительно увеличивает коэффициенты конверсии маркетинговых кампаний.

Модель 3: Wildcard GasData (модель кредитной линии)

Это более гибкая модель, основанная на разрешениях.

  1. Спонсор передаёт объект GasData: Спонсор сначала создаёт один или несколько объектов Gas Coin с определённым бюджетом и передаёт право собственности непосредственно пользователю.
  2. Пользователь свободно тратит в пределах бюджета: Затем пользователь может свободно использовать эти Gas Coins для оплаты любых транзакций, которые он инициирует, в пределах лимитов бюджета и срока действия.
  3. Gas Coin возвращается: После исчерпания или истечения срока действия объект Gas Coin может быть разработан таким образом, чтобы автоматически уничтожаться или возвращаться Спонсору.

Эта модель эквивалентна предоставлению пользователю «кредитной карты для оплаты газа» с ограниченным сроком действия и бюджетом, подходящей для сценариев, требующих высокой степени автономии пользователя, например, для предложения бесплатного игрового опыта во время игрового сезона.

4. Типичные сценарии применения

Сила Sui Paymaster заключается не только в решении проблемы комиссий за газ, но и в его способности глубоко интегрироваться с бизнес-логикой для создания новых возможностей.

Сценарий 1: Платные стены (Paywalls)

Многие контентные платформы или dApp-сервисы требуют от пользователей соответствия определённым критериям (например, владение VIP NFT, достижение определённого уровня членства) для доступа к функциям. Paymaster может идеально реализовать эту логику.

  • Поток: Пользователь запрашивает действие → бэкенд dApp проверяет квалификацию пользователя (например, владение NFT) → если пользователь соответствует требованиям, он вызывает Paymaster для спонсирования комиссии за газ; в противном случае он просто отклоняет запрос на подписание.
  • Преимущество: Эта модель по своей природе устойчива к ботам и злоупотреблениям. Поскольку решение о спонсорстве принимается на бэкенде, злоумышленники не могут обойти проверку квалификации, чтобы истощить газовые средства.

Сценарий 2: Оформление заказа в один клик

В сценариях электронной коммерции или внутриигровых покупок упрощение процесса оплаты имеет решающее значение.

  • Поток: Пользователь нажимает «Купить сейчас» на странице оформления заказа. dApp формирует транзакцию, которая включает бизнес-логику (например, transfer_nft_to_user). Пользователю нужно только подписать, чтобы одобрить бизнес-транзакцию в своём кошельке, не беспокоясь о газе. Комиссия за газ покрывается Спонсором dApp.
  • Преимущество: Вы можете закодировать бизнес-параметры, такие как order_id, непосредственно в ProgrammableTransactionBlock, что позволяет точно атрибутировать ончейн-данные для бэкенд-заказов.

Сценарий 3: Атрибуция данных

Точное отслеживание данных является основополагающим для оптимизации бизнеса.

  • Поток: При формировании транзакции запишите уникальный идентификатор (например, order_hash) в параметры транзакции или в событие, которое будет сгенерировано при выполнении.
  • Преимущество: Когда Gas Station получает ончейн-квитанцию об успешной транзакции, она может легко извлечь этот order_hash, анализируя данные события или транзакции. Это позволяет точно сопоставлять изменения ончейн-состояния с конкретными бэкенд-заказами или действиями пользователя.

5. Скелет кода (на основе Rust SDK)

Вот упрощённый фрагмент кода, демонстрирующий основные шаги взаимодействия.

// Assume tx_builder, sponsor, and wallet have been initialized

// Step 1: On the user or dApp side, construct a gas-less transaction
let gasless_transaction_data = tx_builder.build_gasless_transaction_data(false)?;

// Step 2: On the Sponsor (Gas Station) side, receive the gasless_transaction_data,
// fill it with a Gas Coin, and return the transaction data with the Sponsor's signature.
// The sponsor_transaction_block function handles gas allocation and signing internally.
let sponsored_transaction = sponsor.sponsor_transaction_block(gasless_transaction_data, user_address, gas_budget)?;

// Step 3: The dApp sends the sponsored_transaction back to the user,
// who signs and executes it with their wallet.
let response = wallet.sign_and_execute_transaction_block(&sponsored_transaction)?;

Для полной реализации обратитесь к официальному Руководству по Gas Station в документации Sui, которое предлагает готовые примеры кода.

6. Риски и защита

Хотя Gas Station является мощным инструментом, развёртывание его в производственной среде требует тщательного рассмотрения следующих рисков:

  • Двусмысленность (двойная трата): Злоумышленник может попытаться использовать один и тот же Gas Coin для нескольких транзакций параллельно, что приведёт к блокировке Gas Coin сетью Sui. Это можно эффективно смягчить, назначая уникальный Gas Coin для каждого пользователя или транзакции, ведя чёрный список и ограничивая частоту запросов на подписание.
  • Управление газовым пулом: В сценариях с высокой конкуренцией один Gas Coin большой стоимости может стать узким местом производительности. Сервис Gas Station должен быть способен автоматически разделять крупные SUI Coin на множество Gas Coin меньшей стоимости и эффективно возвращать их после использования. Профессиональные поставщики Gas Station, такие как Shinami, предлагают зрелые, управляемые решения для этого.
  • Авторизация и ограничение скорости: Вы должны установить строгие политики авторизации и ограничения скорости. Например, управлять лимитами и частотой спонсорства на основе IP-адреса пользователя, адреса кошелька или токенов API, чтобы предотвратить истощение сервиса злоумышленниками.

7. Инструменты экосистемы

Экосистема Sui уже предлагает богатый набор инструментов для упрощения разработки и развёртывания Paymaster:

  • Официальные SDK (Rust/TypeScript): Включают высокоуровневые API, такие как sponsor_transaction_block(), значительно снижая сложность интеграции.
  • Shinami Gas Station: Предоставляет комплексный управляемый сервис, включающий автоматическое разделение/возврат Gas Coin, детальный мониторинг метрик и уведомления через вебхуки, что позволяет разработчикам сосредоточиться на бизнес-логике.
  • Enoki / Mysten Demos: Сообщество и Mysten Labs также предоставляют реализации Paymaster с открытым исходным кодом, которые можно использовать в качестве эталона для создания собственного сервиса.

8. Контрольный список реализации

Готовы обновить свой dApp до безгазовой эры? Пройдите по этому контрольному списку, прежде чем начать:

  • Спланируйте поток финансирования: Определите источник финансирования Спонсора, бюджет и стратегию пополнения. Настройте мониторинг и оповещения для ключевых метрик (например, баланс газового пула, скорость потребления).
  • Зарезервируйте поля атрибуции: При разработке параметров транзакции обязательно зарезервируйте поля для бизнес-идентификаторов, таких как order_id или user_id.
  • Разверните политики борьбы со злоупотреблениями: Вы должны внедрить строгие механизмы авторизации, ограничения скорости и логирования перед запуском.
  • Отрепетируйте в Testnet: Независимо от того, создаёте ли вы свой собственный сервис или интегрируете сторонний Gas Station, всегда сначала проводите тщательное тестирование параллелизма и стресс-тестирование в тестовой сети (testnet) или сети разработки (devnet).
  • Постоянно оптимизируйте: После запуска постоянно отслеживайте показатели успешности транзакций, причины сбоев и затраты на газ. Корректируйте свой бюджет и стратегии на основе данных.

Заключение

Sui Paymaster (Gas Station) — это больше, чем просто инструмент для покрытия комиссий за газ для пользователей. Это мощная парадигма, которая элегантно сочетает пользовательский опыт «ноль SUI в сети» с бизнес-потребностью в «атрибуции на уровне заказа в сети» в рамках одной атомарной транзакции. Он открывает путь пользователям Web2 в Web3 и предоставляет разработчикам беспрецедентную гибкость для настройки бизнеса.

С постоянно развивающейся экосистемой инструментов и текущими низкими затратами на газ в сети Sui, сейчас самое подходящее время для обновления платёжных и интерактивных потоков вашего dApp до безгазовой эры.

Представляем Blockroma — ваш открытый, EVM-совместимый блокчейн-обозреватель

· 2 мин. чтения
Dora Noda
Software Engineer

В современную цифровую эпоху технология блокчейн стала важнейшей частью онлайн-транзакций и обмена данными. По мере расширения использования блокчейна растет и потребность в эффективном и прозрачном способе навигации по его экосистеме. Представляем Blockroma — открытый, EVM-совместимый блокчейн-обозреватель, эффективно и действенно удовлетворяющий эту потребность.

Представляем Blockroma — ваш открытый, EVM-совместимый блокчейн-обозреватель

Что такое Blockroma?

Блокчейн-обозреватель, такой как Blockroma, — это веб-инструмент, который позволяет пользователям взаимодействовать с блокчейн-сетью, предоставляя данные в реальном времени, историю транзакций и статус сети. Он помогает пользователям понимать отдельные транзакции, включая отправителя, получателя, сумму и время транзакции, а также предоставляет информацию о текущем состоянии блокчейн-сети.

Технологический стек

Blockroma использует современный технологический стек — TypeScript, React и PostgreSQL, — который обеспечивает масштабируемость и простоту обслуживания. Он предоставляет вам быстрый и простой процесс развертывания, способствуя бесперебойной работе пользователя.

Расширенные функции

Blockroma выходит за рамки традиционных блокчейн-обозревателей, предлагая расширенные функции, такие как поиск конкретных транзакций или адресов, упрощение создания и просмотра смарт-контрактов, а также изучение истории конкретных блоков. Эти функции позволяют пользователям любого уровня — разработчикам, трейдерам, инвесторам или обычным пользователям — лучше понимать блокчейн-сеть и использовать весь ее потенциал.

Представляем Blockroma

Почему стоит выбрать Blockroma?

  • Прозрачность: Blockroma упрощает процесс доступа к данным блокчейна, позволяя пользователям без труда проверять транзакции, адреса и другие данные.
  • Данные в реальном времени: Он предоставляет данные в реальном времени о подтверждениях транзакций, статусе сети и сложности майнинга, что крайне важно для тех, кому необходимо отслеживать состояние и производительность блокчейна.
  • Возможность поиска: Расширенная функция поиска Blockroma улучшает отслеживание и анализ блокчейн-активностей, позволяя пользователям искать конкретные транзакции, адреса или блоки.
  • Безопасность: Повышая безопасность в блокчейне, Blockroma помогает пользователям проверять подлинность транзакций и личности участвующих сторон, обеспечивая дополнительный уровень уверенности для бизнеса.

Дополнительные преимущества

Помимо этих функций, Blockroma также предоставляет настраиваемые темы, премиум-поддержку и приоритетные обновления для управляемого хостинга на Blockroma.com. Более того, он обеспечивает беззаботный опыт с нулевыми эксплуатационными расходами.

Заключение

В двух словах, Blockroma делает навигацию по блокчейну проще, эффективнее и безопаснее для частных лиц и компаний. Благодаря своим расширенным функциям и удобному интерфейсу, Blockroma является надежным решением для исследования и взаимодействия с блокчейном. Примите будущее взаимодействия с блокчейном вместе с Blockroma.

Исследование проектов стартап-школы a16z Crypto

· 5 мин. чтения
Dora Noda
Software Engineer

Andreesen Horowitz, более известный как a16z, — это имя, которое отзывается в залах венчурного капитала аурой дальновидных инноваций. Важное направление их инвестиционной деятельности, a16z crypto, целенаправленно фокусируется на быстро развивающейся области крипто- и Web3-стартапов, сфере, которая быстро переопределяет наше представление о цифровой коммерции, конфиденциальности и онлайн-взаимодействии. Их вхождение в эту область — это не просто деловой шаг, это обязательство формировать контуры быстро развивающегося ландшафта Web3.

Стартап-школа a16z Crypto, двенадцатинедельная акселерационная программа, разработана с учетом специфических потребностей Web3-стартапов, предоставляя им важнейшие знания, ресурсы и поддержку. Недавно эта инициатива продемонстрировала интригующий набор из 11 амбициозных проектов, каждый из которых стремится изменить различные секторы с помощью технологий блокчейна и Web3. Для любопытных все подробности доступны на странице стартап-школы a16z crypto.

Исследование проектов стартап-школы a16z Crypto

Демо-проекты

Эти проекты не только дают представление о будущем различных отраслей, но и предлагают ценные идеи как с точки зрения разработчика, так и с точки зрения инвестора. Они представляют собой практические варианты использования технологии блокчейна и способы, которыми она может инновационно изменить системы и процессы. Вот краткий обзор:

  1. Blockus: С целью революционизировать игровую экономику, Blockus разрабатывает комплексное решение для игровых студий, чтобы они могли более эффективно сосредоточиться на игровом процессе.

  2. ChainPatrol.io: Этот проект направлен на усиление безопасности Web3, предлагая защиту в реальном времени для Web3-сообществ и повышая планку безопасности цифровых активов.

  3. mbd.xyz: Это амбициозное начинание стремится демократизировать системы рекомендаций на базе ИИ, внедряя концепцию «Экономики Кураторства», потенциально меняя потребление онлайн-контента.

  4. Web3Analytic: В эпоху решений, основанных на данных, Web3Analytic предоставляет решения для пользовательской аналитики без кода, которые могут улучшить производительность продукта и пользовательский опыт.

  5. KIKI world: Этот инновационный проект призван изменить индустрию красоты, продвигая модель совместного создания и совместного владения косметическими продуктами с энтузиастами.

  6. formless: Formless предлагает трансформацию экосистемы распространения медиа путем монетизации интеллектуальной собственности через смарт-контракты, предлагая потенциально революционный метод для создателей контента получать выгоду от своей работы.

  7. Fuul.xyz: Отвечая на потребность в оптимизированном партнерском маркетинге в пространстве Web3, Fuul.xyz стремится построить мост между создателями контента и Web3-проектами.

  8. frens: Это суперприложение для коммуникаций направлено на содействие транзакциям с друзьями, протоколами и смарт-контрактами в рамках беседы, представляя собой инновационное сочетание социальных сетей и Web3.

  9. Discove: Discove исследует уникальный протокол для компонуемых мини-приложений, представляя новый подход к Web3-приложениям, который может повысить их полезность и простоту использования.

  10. Stackr Labs: Предлагая уникальный модульный SDK для роллапов, Stackr Labs позволяет разработчикам сосредоточиться на создании конечных автоматов, оптимизируя процесс разработки в пространстве Web3.

  11. Sky Lab: Sky Lab видит автономный мир, сосредоточившись на создании игр на основе исходных мировых примитивов. Это может переопределить интерактивный опыт в играх и за их пределами.

Категоризация

Учитывая разнообразный набор проектов, представленных в стартап-школе a16z Crypto, их можно классифицировать на основе отрасли или сектора, на который они в первую очередь ориентированы. Вот возможная категоризация:

  1. Игры и Развлечения: Эта категория включает проекты, ориентированные на инновации в игровой индустрии, использующие технологии блокчейна и Web3 для улучшения пользовательского опыта, игрового дизайна и монетизации. Включенные проекты: Blockus, Sky Lab.

  2. Безопасность и Инфраструктура: Проекты, которые в первую очередь направлены на повышение безопасности и инфраструктуры пространства Web3. Это включает в себя все: от защиты данных до разработки ключевых инструментов и программного обеспечения, которые могут использоваться другими Web3-сервисами. Включенные проекты: ChainPatrol.io, Stackr Labs.

  3. Аналитика Данных и ИИ: Эти проекты сосредоточены на использовании данных и ИИ для различных целей, таких как повышение производительности продукта и пользовательского опыта, а также демократизация систем рекомендаций на базе ИИ. Включенные проекты: Web3Analytic, mbd.xyz.

  4. Создание Контента и Распространение Медиа: Эти проекты рассматривают способы создания и распространения контента, особенно с точки зрения интеллектуальной собственности и того, как создатели получают вознаграждение за свою работу. Включенные проекты: formless, KIKI world.

  5. Маркетинг и Коммуникации: Проекты, ориентированные на улучшение коммуникации в пространстве Web3, содействие транзакциям и улучшение партнерского маркетинга для Web3-проектов. Включенные проекты: Fuul.xyz, frens.

  6. Web3-Приложения и Платформы: Проекты, работающие над новыми приложениями и платформами в пространстве Web3, особенно с точки зрения их дизайна и пользовательского интерфейса. Включенный проект: Discove.

Каждая из этих категорий представляет собой уникальный подход к использованию технологии блокчейна и Web3, предоставляя представление о разнообразном спектре применений, которые эти технологии могут предложить в различных секторах.

Заключение

Рост Web3 — это увлекательное, сложное явление, и такие проекты, поддерживаемые, например, стартап-школой a16z Crypto, способствуют этой динамичной эволюции. Для более глубокого изучения каждого проекта страница стартап-школы a16z Crypto предоставляет исчерпывающие подробности.