Skip to main content
5 человек
в команде
5 месяцев
в работе
Спроектировали и разработали совместно с IOHK децентрализованное приложение на платформе Plutus. Созданный DApp — это один из первых NFT-маркетплейсов на Cardano
Узнать больше

Как мы перевели мобильную RPG на блокчейн и начали продавать NFT

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

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

5_rules
горячее
layer_zero
горячее

Обзор и архитектура протокола LayerZero v2

Роман Ярлыков

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

Статьи

ethereum
web3
Solana
новое
TON_Mintless_Jettons
новое
L2_Bitcoin
новое
polymarket_article

Что такое Polymarket и как работает рынок предсказаний?

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

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

Статьи

web3
business
package_solutions
выбор редакции
tapalki
выбор редакции
uma_protocol
выбор редакции
AdsGram
выбор редакции

Способ монетизировать игры в Telegram

Алексей Федин

Исполнительный директор Magnetto.pro

Статьи

web3
mobile
TON
hamster_tma
выбор редакции

Как хомяк, но для трафика: привлекаем аудиторию тапалкой

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

Бизнес-аналитик MetaLamp

Статьи

web3
dApps
mobile
dao

Что такое DAO?

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

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

Статьи

education
web3
ethereum_gas
scroll

Как работает блокчейн Scroll: технический обзор

Алексей Куценко

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

Статьи

ethereum
web3
dApps
L2
nft_stacking
выбор редакции

Понимание стейкинга NFT: механизмы и преимущества

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

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

Статьи

ethereum
web3
dApps
legendary_play
выбор редакции
payments
sharding
выбор редакции
ton
выбор редакции
bottle_wine
выбор редакции
launchpad
twa
выбор редакции
buildings
выбор редакции
anonymus

Zero-Knowledge Proofs: важный тренд в блокчейне на 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
выбор редакции
red space
выбор редакции
speed up development
myths
выбор редакции
launching
выбор редакции

Кого нанимать для успешного запуска MVP

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

Head of Sales Department

Статьи

business
startup
MVP
galaxy
magazine
spaceman
выбор редакции
coffee
investors
nft

Как мы создали первый NFT-маркетплейс на Cardano

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

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

Статьи

cardano
web3
nft
stair
выбор редакции
bridge
rocket
abstraction

Как мы нанимаем инженеров Plutus через собственную программу обучения

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

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

Статьи

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