Блокчейн TON для игр
Эта страница переведена сообществом на русский язык, но нуждается в улучшениях. Если вы хотите принять участие в переводе свяжитесь с @alexgton.
Содержание
В этом уроке мы рассмотрим, как добавить блокчейн TON в игру. Для нашего примера мы будем использовать клон Flappy Bird, написанный на Phaser, и шаг за шагом добавлять функции GameFi. В учебнике мы будем использовать короткие фрагменты кода и псевдокод, чтобы было понятнее. Кроме того, мы будем давать ссылки на реальные блоки кода, чтобы помочь Вам лучше понять. Всю реализацию можно найти в демо-репо.
Мы собираемся реализовать следующее:
- Достижения. Давайте наградим наших пользователей SBT. Система достижений - это отличный инструмент для повышения вовлеченности пользователей.
- Игровая валюта. В блокчейне TON легко запустить свой собственный токен (жетон). Этот токен можно использовать для создания внутриигровой экономики. Наши пользователи смогут зарабатывать игровые монеты, чтобы потом тратить их.
- Игровой магазин. Мы предоставим пользователям возможность приобретать внутриигровые предметы, используя либо внутриигровую валюту, либо сами монеты TON.
Подготовка
Установите GameFi SDK
Сначала мы настроим игровое окружение. Для этого нам нужно установить assets-sdk
. Этот пакет предназначен для подготовки всего, что нужно разработчикам для интеграции блокчейна в игры. lib можно использовать из CLI или из скриптов Node.js. В этом уроке мы будем придерживаться подхода CLI.
npm install -g @ton-community/assets-sdk@beta
Создайте главный кошелек
Далее нам нужно создать главный кошелек. Главный кошелек - это кошелек, который мы будем использовать для чеканки жетона, коллекций, NFT, SBT и получения платежей.
assets-cli setup-env
Вам будет задано несколько вопросов:
Поле | Подсказка |
---|---|
Сеть | Выберите testnet , пока это тестовая игра. |
Тип | Выберите кошелек типа highload-v2 , поскольку это самый лучший и производительный вариант для использования в качестве главного кошелька. |
Хранение | Хранилище будет использоваться для хранения файлов NFT /SBT . Amazon S3 (централизованное) или Pinata (децентрализованное). В данном руководстве мы будем использовать Pinata , поскольку децентрализованное хранилище будет более наглядным для Web3 игры. |
Шлюз IPFS | Сервис откуда будут загружаться метаданные активов: pinata , ipfs.io или введите URL другого сервиса. |
Скрипт выводит ссылку, которую Вы можете открыть, чтобы посмотреть состояние созданного кошелька.
Как Вы можете заметить, кошелек еще не создан. Чтобы кошелек был действительно создан, нам нужно внести в него средства. В реальном сценарии Вы можете пополнить кошелек любым удобным для Вас спосо бом, используя адрес кошелька. В нашем случае мы будем использовать Testgiver TON Bot. Пожалуйста, откройте его, чтобы получить 5 тестовых монет TON.
Немного позже Вы сможете увидеть 5 TON на кошельке, а его статус станет Uninit
. Кошелек готов. После первого использования он изменит статус на Active
.
Чеканьте внутриигровую валюту
Мы собираемся создать внутриигровую валюту, чтобы вознаграждать ею пользователей:
assets-cli deploy-jetton
Вам будет задано несколько вопросов:
Поле | Подсказка |
---|---|
Имя | Имя токена. Например, Flappy Jetton . |
Описание | Например, описание токена: Яркий цифровой токен из вселенной Flappy Bird. |
Изображение | Загрузите подготовленный логотип жетона и укажите путь к файлу. Конечно, Вы можете использовать любое изображение. |
Символ | FLAP или введите любую аббревиатуру, которую Вы хотите использовать. |
Десятичные числа | Сколько нулей после точки будет у Вашей валюты. Пусть в нашем случае это будет 0 . |
Скрипт выводит ссылку, которую Вы можете открыть, чтобы увидеть состояние созданного жетона. Он будет иметь статус Active
. Состояние кошелька изменит статус с Uninit
на Active
.
Создание коллекций для SBT
Для примера, в демо-игре мы будем награждать пользователей за первую и пятую игру. Таким образом, мы создадим две коллекции, чтобы помещать в них SBT, когда пользователи достигнут соответствующих условий - сыграют первый и пятый раз:
assets-cli deploy-nft-collection