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

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 Startup School

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

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

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

Исследование проектов a16z Crypto Startup School

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

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

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

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

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

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

  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 Startup School, их можно классифицировать в зависимости от индустрии или сектора, на которые они в первую очередь ориентированы. Вот возможная категоризация:

  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 Startup School, вносят значительный вклад в эту динамичную эволюцию. Для более глубокого изучения каждого проекта подробная информация доступна на странице a16z Crypto Startup School.