Skip to main content
Improvado
Международный агрегатор рекламных кампаний
60 млн $
капитализация
22 млн $
инвестиции в серии А
Создаем стартапы на блокчейне Cardano с использованием платформы Plutus, написанной на Haskell
Узнать больше

Перевели мобильную RPG на блокчейн — и помогли заказчику из Германии продавать NFT пользователям web2

legendary_play

RPG — это не только развлечение, но и заработок. 

Сделали для одной ролевой компьютерной игры NFT и API, который связывает смарт-контракты и онлайн-игру. Спойлер: переезд с web2 на web3 сработал.

NFT-игра, с которой можно зарабатывать

Esports Heroes — первая киберспортивная RPG на блокчейне. 

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

Изначально Esports Heroes предполагала работу по модели web2. Однако модель web3 сделала эту бесплатную мобильную игру инновационной.

Николай Бордуненко

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

Николай Бордуненко
Николай Бордуненко
Менеджер проектов MetaLamp

NFT и API для взаимодействия смарт-контрактов и онлайн-игры

Создатели онлайн-игры решили перевести ее с web2 на web3. Перед нами стояли две основных задачи: разработка смарт-контрактов NFT и разработка API. 

Смарт-контракты. Разработали NFT, который стал репрезентацией персонажа игры. Этот NFT, разработанный в сети Polygon, может торговаться на всех популярных маркетплейсах, среди которых OpenSea, Blur и Magic Eden. 

NFT в игре — классический прием, который позволяет пользователям обмениваться персонажами, предметами и даже перепродавать их. Создателям игры не нужно разрабатывать для этого собственное решение. Достаточно выпустить NFT, который будет поддерживаться на всех популярных маркетплейсах.

Павел Найданов
Solidity-разработчик MetaLamp

Вместе с командой заказчика мы решили, что NFT должен иметь два состояния: Playable и Tradeable. В состоянии Playable NFT доступен для использования в игре, а в состоянии Tradeable токены можно перепродавать на маркетплейсах.

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

Кроме этого мы предусмотрели возможность взимать роялти с перепродаж NFT, то есть добавили дополнительный способ монетизации приложения.

API. Написали бэкенд, который выступил прослойкой между смарт-контрактами и игровым бэкендом. Это классическая схема, которая используется при переезде игр с web2 в web3.

На нашем бэкенде создается рандомный NFT. Он индексирует нужные события на блокчейне, связанные со смарт-контрактами, и передает эти изменения игре.

Николай Бордуненко
Менеджер проектов MetaLamp

Технологии, которые мы использовали

Solidity. Все написано на Solidity. А на чем еще?)

Foundry. Разработчики MetaLamp любят этот сервис. Тесты пишутся сразу на Solidity, а не на JS. Они исполняются гораздо быстрее, чем в Hardhat. А еще набор инструментов для тестирования в Foundry намного шире.

Библиотека operator-filter-registry. Эта небольшая библиотека разработана протоколом OpenSea как ответ другим маркетплейсам, которые не планировали поддерживать стандарт для взимания роялти. 

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

Николай Бордуненко

Мы столкнулись с проблемой: не все NFT поддерживают выплату роялти. Подключив библиотеку operator-filter-registry, мы нашли выход из ситуации и разрешили торговать нашим активом только на тех площадках, где эти роялти есть.

Николай Бордуненко
Николай Бордуненко
Менеджер проектов MetaLamp

По состоянию на 2024 год библиотека находится в статусе deprecated и больше не поддерживается OpenSea, так как она не стала достаточно популярной среди сообщества и других маркетплейсов. Однако на момент реализации решение не было deprecated, считаясь свежим и довольно привлекательным. Сейчас мы бы не использовали эту библиотеку, а нашли ли бы альтернативу.

Beacon Pattern. Технология используется для обновления смарт-контрактов. 

В игре есть множество коллекций с персонажами. Каждая коллекция — это самостоятельный смарт-контракт с уникальным адресом в сети. При этом код смарт-контрактов для всех коллекций одинаковый. 

Beacon Pattern позволяет обновить логику для всех задеплоенных контрактов прокси за одну транзакцию. Для реализации паттерна мы использовали проверенную и надежную библиотеку смарт-контрактов OpenZeppelin.

Павел Найданов
Solidity-разработчик MetaLamp

Результаты

Мы обеспечили пользователям Esports Heroes реальное владение своими игровыми активами. До 5% пользователей покупают NFT напрямую на нашей платформе.

За торги на вторичном рынке проект получает роялти при каждой продаже на NFT-маркетплейсе.

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

RPG пользуется популярностью среди пользователей по всему миру.

В магазине приложений Google Play у игры более десяти тысяч скачиваний

На все у нас ушел примерно месяц. Смарт-контракты сделали за неделю, а бэкенд — за три недели. Еще какое-то время заняли коммуникация, консультации и поддержка. 

Со стороны MetaLamp в проекте были заняты два разработчика и один проектный менеджер.

Esports Heroes — наш первый опыт переноса компьютерной игры с web2 на web3. Сложностей не было, зато теперь есть четкое представление, как делать это быстро и качественно, не изобретая велосипед.
Николай Бордуненко
Менеджер проектов MetaLamp

Почитайте другие статьи о наших кейсах

dao
Что такое DAO?

Павел Найданов

Solidity разработчик

Статьи

education
web3
ethereum_gas
scroll
L2
nft_stacking
выбор редакции
Стейкинг NFT: как это работает?

Павел Найданов

Solidity разработчик

Статьи

ethereum
web3
dApps
legendary_play
выбор редакции
payments
sharding
выбор редакции
ton
выбор редакции
bottle_wine
выбор редакции
Зачем вину блокчейн: как токенизируют премиальный алкоголь

Елизавета Черная

Редактор Бренд-медиа

Статьи

web3
nft
business
launchpad
twa
выбор редакции
Тренды блокчейна и криптоиндустрии 2024: Telegram Mini Apps (TMA)

Елизавета Черная

Редактор Бренд-медиа

Статьи

web3
buildings
выбор редакции
anonymus
Zero-knowledge proof: один из трендов 2024 в блокчейне

Евгений Биктимиров

Венчурный аналитик

Статьи

ethereum
web3
dApps
cpay
AA zksync
zero knowledge proofs
stock market chart
planets
fundraising
cto
wallet
tokens
выбор редакции
rocket computer
выбор редакции
Как создать дизайн для MVP стартапа за 7 дней

Юлия Черепанова

Head of Design Office

Статьи

startup
MVP
design
nft
AI
crypto wallets
выбор редакции
Account Abstraction: что это такое и зачем нужно криптомиру

Павел Найданов

Solidity разработчик

Статьи

ethereum
web3
business
red space
выбор редакции
speed up development
myths
выбор редакции
Мифы о разработке блокчейн продуктов

Николай Бордуненко

Project manager at MetaLamp

Статьи

web3
dApps
startup
launching
выбор редакции
Кого нужно нанимать в команду для запуска MVP?

Алексей Сухарев

Head of Sales Department

Статьи

business
startup
MVP
galaxy
magazine
spaceman
выбор редакции
coffee
investors
nft
Первый NFT marketplace на Cardano

Станислав Жданович

Haskell разработчик

Статьи

cardano
web3
nft
stair
выбор редакции
bridge
rocket
abstraction
Как мы нанимаем Plutus инженеров через собственную программу обучения

Светлана Дульцева

Супервизор программы обучения

Статьи

education
cardano
web3
mountains
blockchain
salary
salary increase
app
developer with books
keyboard
abstract