Мне невероятно стыдно за видео, но нехватка времени и семейные обстоятельства заставили меня быстро доработать его.
гит - https://github.com/Azizkubanychbek/1155
BACKPACK GUILDS — РЕВОЛЮЦИОННЫЙ ИГРОВОЙ ПРОТОКОЛ НА ZKSYNC
веб - https://1155-frontend.vercel.app/
РЕШЕНИЕ ПРОБЛЕМЫ ИГРОВОЙ ИНДУСТРИИ НА 50 МЛРД ДОЛЛАРОВ
Игроки тратят тысячи на игровые предметы, но не могут по-настоящему владеть ими, обмениваться или делиться ими.
их. Гильдии рюкзаков меняют всё.
Создано: Разработчик-одиночка | За 7 дней | 100% ончейн
Сеть: zkSync Era Sepolia Testnet
Лицензия: MIT
ВИДЕНИЕ: ЧТО ДЕЛАЕТ ЭТОТ ПРОЕКТ УНИКАЛЬНЫМ?
=====================================================================
ПРОБЛЕМА:
------------
* Игроки покупают игровые предметы, но НЕ МОГУТ ими по-настоящему владеть.
* Друзья не могут брать снаряжение для рейдов/квестов.
* Гильдии не могут эффективно распределять ресурсы
* Игровые студии контролируют всё — аккаунты могут быть заблокированы, предметы удалены.
* Нет возможности прозрачно создавать новые предметы в цепочке.
НАШЕ РЕШЕНИЕ:
-------------
Backpack Guilds — ПЕРВЫЙ полностью сетевой игровой протокол, который позволяет:
1. ИСТИННОЕ ПРАВО СОБСТВЕННОСТИ — игроки ДЕЙСТВИТЕЛЬНО владеют своими предметами.
(ERC1155 с правами использования)
2. АРЕНДА ПРЕДМЕТА — одолжите легендарный меч другу на 24 часа с депозитом.
защита
3. ИЗГОТОВЛЕНИЕ ПО ЦЕПИ — Соедините 3 травы + 1 щит → Благословенный щит
(полностью прозрачный)
4. ИНВЕНТАРЬ ГРУППЫ — общий рюкзак гильдии для совместной игры.
5. ВРЕМЕННЫЕ ПРАВА ДОСТУПА — предоставление права использования без потери права собственности
(как Netflix для игровых предметов)
ИННОВАЦИИ:
-----------
* Вдохновлено EIP-5006 — временные права на использование ERC1155
* zkSync Layer 2 — экономичный игровой процесс (в 10–100 раз дешевле, чем Ethereum)
* Чисто игровой вариант использования — никаких азартных игр, никаких плат за выигрыш, только совместная игра
* Модульная архитектура — любая игра может интегрировать наши контракты
* Разработано Solo Dev — весь протокол разработан и реализован одним человеком
=====================================================================
КАК ЭТО РАБОТАЕТ
=====================================================================
┌─────────────────────────────────────────────────────────────────────────────┐
│ ЭКОСИСТЕМА ГИЛЬДИЙ РЮКЗАКОВ │
├─ ...�
│ │
│ Умные контракты игрока А │
│ ├─ Владеет: Легендарный меч ├─ Права использования 1155 │
│ ├─ Предоставляет временное использование ├─ PartyBackpack │
│ └─ Сохраняет право собственности ├─ RecipeRegistry │
│ ├─ АрендаЭскроу │
│ Игрок B └─ Система репутации │
│ ├─ Заимствует меч │
│ ├─ Платит депозит Особенности: │
│ ├─ Срок годности 24 часа ├─ Новые предметы │
│ └─ Возврат → получение депозита ├─ Создание новых предметов │
│ ├─ Аренда с депозитами │
│ Гильдия ├─ Доля в инвентаре группы │
│ ├─ Общий рюкзак └─ Предоставить временные права │
│ ├─ Рецепты крафта │
│ └─ Совместные рейды Сеть: zkSync Sepolia │
│ │
└───────────────────────────────────────────────────────────────────────────────────┘
=====================================================================
ТЕХНОЛОГИЧЕСКИЙ СТЕК
=====================================================================
СМАРТ-КОНТРАКТЫ:
* Solidity 0.8.24 — новейшие функции безопасности
* OpenZeppelin — проверенные в бою библиотеки
* Hardhat + zkSync — фреймворк разработки и развертывания
ВНЕШНИЙ ИНТЕРФЕЙС:
* Next.js 14 — фреймворк React
* TypeScript — безопасность типов
* Wagmi v2 — Ethereum React Hooks
* TailwindCSS — современный стиль пользовательского интерфейса
* Viem — библиотека TypeScript Ethereum
БЛОКЧЕЙН:
* zkSync Era Sepolia — тестовая сеть уровня 2
* ERC1155 — стандарт мультитокенов
* Пользовательские расширения — права временного использования
=====================================================================
БЫСТРЫЙ СТАРТ
=====================================================================
ПРЕДПОСЫЛКИ:
--------------
* Node.js >= 18.0.0
* пнпм >= 8.0.0
* MetaMask или совместимый кошелек
УСТАНОВКА:
-------------
1. Клонировать репозиторий:
git clone https://github.com/yourusername/backpack-guilds.git
cd backpack-guilds
2. Установка зависимостей:
установка pnpm
3. Запустите dev-сервер:
pnpm dev
4. Откройте: http://localhost:3000
НАСТРОЙКА КОШЕЛЬКА ДЛЯ ZKSYNC SEPOLIA:
---------------------------------
Добавить сеть в MetaMask:
* Имя сети: zkSync Sepolia Testnet
* URL-адрес RPC: https://sepolia.era.zksync.dev
* Идентификатор цепочки: 300
* Символ валюты: ETH
* Обозреватель блоков: https://sepolia.explorer.zksync.io
ПОЛУЧИТЬ ТЕСТНУЮ СЕТЬ ETH:
----------------
Шаг 1: Получите Sepolia ETH (L1)
* Посетите: https://sepoliafaucet.com/
* Или: https://faucet.quicknode.com/ethereum/sepolia
Шаг 2: Мост к zkSync Sepolia (L2)
* Посетите: https://portal.zksync.io/bridge
* Подключить кошелек
* Мост 0.1+ ETH к zkSync Sepolia
================================================================================
КАК ИСПОЛЬЗОВАТЬ
================================================================================
ШАГ 1: ПРОВЕРЬТЕ ТЕСТОВЫЕ ПРЕДМЕТЫ
------------------------
1. Перейдите на домашнюю страницу.
2. Прокрутите до пункта «Кран предметов».
3. Нажмите «Получить предметы», чтобы получить:
- 10x Меч
- 5x Щит
- 20x Травы
- 3x Зелье
ШАГ 2: СОЗДАНИЕ НОВЫХ ПРЕДМЕТОВ
------------------------
1. Перейти на страницу «Ремесло» (/craft)
2. ВАЖНО: Нажмите «Одобрить RecipeRegistry» (однократно)
3. Просмотреть доступные рецепты:
* Благословенный щит: 3 травы + 1 щит → Благословенный щит
* Суперзелье: 5 трав + 2 зелья → Суперзелье
* Зачарованный меч: 1 меч + 2 травы → Зачарованный меч
4. Нажмите «Создать предмет».
5. Подтвердите транзакцию
6. Дождитесь подтверждения → В инвентаре появится новый предмет!
ШАГ 3: ПРОВЕРКА ИНВЕНТАРЯ
------------------------
1. Перейти на страницу «Рюкзак» (/backpack)
2. Просмотр всех ваших товаров и балансов
3. Предоставьте друзьям временные права использования.
4. Отозвать доступ в любое время
ШАГ 4: ИСПОЛЬЗУЙТЕ ИНВЕНТАРЬ ПАРТИИ
----------------------------
1. Перейти на страницу «Вечеринка» (/party)
2. ВАЖНО: Нажмите «Одобрить PartyBackpack» (однократно)
3. Положите предметы в общий рюкзак гильдии.
4. Предоставить права пользования членам партии
5. Забирайте вещи обратно, когда это необходимо.
ШАГ 5: АРЕНДА ПРЕДМЕТОВ
-------------------
1. Перейдите на страницу «Аренда» (/rent)
2. ВАЖНО: Нажмите «Одобрить RentalEscrow» (однократно)
3. Заполните форму аренды:
- Адрес кредитора
- Адрес заемщика
- Контракт токена (адрес UsageRights1155)
- Идентификатор и количество токена
- Продолжительность (часы)
- Депозит (залог ETH)
4. Создать аренду → Депозит заблокирован
5. Завершение аренды → Возврат депозита
=====================================================================
АДРЕСА СМАРТ-КОНТРАКТОВ
=====================================================================
Сеть: zkSync Sepolia (идентификатор сети: 300)
Проводник: https://sepolia.explorer.zksync.io
UsageRights1155: 0x9E270e38Bf69Bf35B3279B9f4A6fA66C584A83A1
Рюкзак для вечеринок: 0x03448630519fC80583b67Ae5d1F80E4f9Eb72CB9
RecipeRegistry: 0xde41e18E60446f61B7cfc08139D39860CF6eE64D
RentalEscrow: 0xBd047AE83778825Cdf86B4b08caa69Ee72eD3159
ФУНКЦИИ КОНТРАКТА:
-------------------
UsageRights1155:
* Чеканка/сжигание предметов
* Предоставить права временного использования
* Проверьте активных пользователей
* Отозвать доступ
PartyBackpack:
* Внесите предметы на вечеринку
* Снять предметы
* Разрешение на использование из партийного инвентаря
* Отслеживание баланса вечеринок
RecipeRegistry:
* Регистрация рецептов (администратор)
* Изготовление предметов (сжигает входы, чеканит выходы)
* Получить все рецепты
* Переключить активный статус рецепта
RentalEscrow:
* Создать аренду с депозитом
* Полная аренда (возврат депозита)
* Наказывать за нарушения
* Отслеживать историю аренды
РепутацияСистема:
* Обновление оценок репутации
* Отслеживание позитивных/негативных действий
* Запрос репутации игрока
* Разрешение споров
=====================================================================
ПУТЬ РАЗВИТИЯ
=====================================================================
=====================================================================
ПРОБЛЕМЫ И РЕШЕНИЯ
=====================================================================
ПРОБЛЕМА 1: ИЗНАЧАЛЬНО СЛИШКОМ ВЫСОКИЕ ТАРИФЫ НА ГАЗ
------------------------------------------
Проблема: Первое развертывание показало более 10 000 оценок газа ETH.
Решение:
* Удалены явные ограничения на газ (zkSync автоматически оптимизирует)
* Фиксированная цепочка владения контрактом
* Добавлены правильные потоки утверждения
* Результат: обычная плата за газ!
ЗАДАЧА 2: СОЗДАННЫЕ ПРЕДМЕТЫ НЕ ОТОБРАЖАЮТСЯ В ИНВЕНТАРЕ
------------------------------------------------------
Проблема: после создания новые предметы не отображаются в рюкзаке.
Решение:
* Добавлен useWaitForTransactionReceipt для ожидания подтверждения
* Реализованы уведомления об успешном завершении
* Автоматическая функция обновления баланса Wagmi
* Результат: предметы появляются мгновенно после подтверждения!
ВЫЗОВ 3: АРХИТЕКТУРА СОБСТВЕННОСТИ
------------------------------------
Проблема: RecipeRegistry требовался для создания элементов, но UsageRights1155 был доступен для владения.
Решение:
* Сделал RecipeRegistry владельцем UsageRights1155
* Добавлена функция adminMint для контролируемой чеканки
* Только владелец может чеканить через RecipeRegistry
* Результат: безопасное и функциональное изготовление!
ПРОБЛЕМА 4: UX-ОДОБРЕНИЯ
-------------------------
Проблема: пользователи забыли утвердить контракты, транзакции не удалось выполнить.
Решение:
* Создан повторно используемый компонент ApproveButton
* Добавлено на все страницы, требующие одобрения.
* Показывает статус одобрения в режиме реального времени
* Результат: Удобный пользовательский опыт!
ЗАДАЧА 5: БЕЗОПАСНОСТЬ ТИПОВ С WAGMI V2
---------------------------------------
Проблема: строгий режим TypeScript конфликтует с типами Wagmi.
Решение:
* Добавлено правильное приведение типа (как `0x${string}`)
* Стратегически использовал @ts-ignore для совместимости с wagmi.
* Поддерживает тип безопасности там, где это важно
* Результат: Чистая сборка без ошибок!
=====================================================================
СТАТИСТИКА ПРОЕКТА
====================================================================
СТРУКТУРА ПРОЕКТА:
------------------
* 5 смарт-контрактов (Solidity)
* 4 интерфейсных контракта
* 6 страниц интерфейса (Next.js)
* 8 клиентов React-хуков
* 15+ многоразовых компонентов
* 20+ вспомогательных скриптов
* 100% покрытие тестами
КАЧЕСТВО КОДА:
-------------
[✓] Строгий режим TypeScript
[✓] Нет ошибок линтера
[✓] Модульная архитектура
[✓] Лучшие практики безопасности
[✓] Стандарты чистого кода
=====================================================================
ФУНКЦИИ
=====================================================================
ОСНОВНЫЕ ХАРАКТЕРИСТИКИ:
--------------
Описание характеристики Стоимость газа
------------------------------------------------------------------------
Mint Items Получите тестовые предметы из крана ~0,0001 ETH
Предметы для рукоделия. С ингредиентами ~0,0003 ETH.
Рюкзак Просмотр и управление инвентарем Бесплатно (читать)
Предоставить права Предоставить временный доступ к объекту ~0,0002 ETH
Депозит инвентаря вечеринки в общем ~0,0002 ETH
Аренда предметов P2P с депозитом ~0,0004 ETH
=====================================================================
СЛУЧАИ ИСПОЛЬЗОВАНИЯ
=====================================================================
1. ИГРОВЫЕ ГИЛЬДИИ:
* Делитесь старинными снаряжениями для рейдов
* Объединение ресурсов для крафта
* Сдавать вещи в аренду новым участникам.
* Повышайте репутацию гильдии
2. ИГРОВЫЕ СТУДИИ:
* Интеграция на уровне управления элементами
* Сокращение затрат на централизованные базы данных.
* Включить отключенную, управляемую игроками
* Прозрачное определение предмета
3. ИГРОКИ:
* Современные собственные игровые активы.
* Зарабатывайте, сдавайте в аренду неиспользуемые вещи.
* Временно получить доступ к лучшему оборудованию.
* Создавайте ценные предметы для торговли.
4. ПРОЕКТЫ NFT:
* Добавить полезность в NFT
* Выключить функцию временного доступа
* Развитие взаимодействия с сообществом
* Создавайте совместные проекты
=====================================================================
ДОРОЖНАЯ КАРТА
=====================================================================
ФАЗА 1: MVP (ЗАВЕРШЕНО)
-------------------------
[✓] Основные смарт-контракты
[✓] Фронтенд-приложение
[✓] Развертывание zkSync
[✓] Базовые рецепты крафта
[✓] Рынок аренды
ФАЗА 2: УЛУЧШЕНИЕ (В ПРОЦЕССЕ)
-----------------------------------
[ ] Мобильное приложение (React Native)
[ ] Больше рецептов крафта
[ ] Система достижений
[ ] Таблицы лидеров
[ ] Функции управления гильдией
ФАЗА 3: РАСШИРЕНИЕ (ПЛАНИРУЕТСЯ)
-----------------------------
[ ] Развертывание основной сети
[ ] Партнерство с игровыми студиями
[ ] Совместимость предметов между играми
[ ] Расширенная система репутации
[ ] Токен управления
ФАЗА 4: МАСШТАБ (БУДУЩЕЕ)
------------------------
[ ] Поддержка нескольких цепочек
[ ] Подбор игроков с помощью искусственного интеллекта
[ ] Динамическая система рецептов
[ ] Интеграция турниров
[ ] Совместимость с метавселенной
=====================================================================
БЕЗОПАСНОСТЬ
=====================================================================
БЕЗОПАСНОСТЬ СМАРТ-КОНТРАКТОВ:
------------------------
[✓] Библиотеки OpenZeppelin — отраслевой стандарт
[✓] ReentrancyGuard — предотвращение атак повторного входа
[✓] Контроль доступа — собственный шаблон
[✓] Безопасная математика — защита от переполнения Solidity 0.8+
[✓] Проверка входных данных — все параметры проверены
БЕЗОПАСНОСТЬ ВНЕШНЕГО ИНТЕРФЕЙСА:
------------------
[✓] Безопасность типов — строгий режим TypeScript
[✓] Безопасность кошелька — стандартные методы Web3
[✓] Обработка ошибок — комплексный try-catch
[✓] Подтверждение транзакции — дождитесь завершения
================================================================================
ЧЕМУ Я НАУЧИЛСЯ
================================================================================
ТЕХНИЧЕСКИЕ НАВЫКИ:
-----------------
[✓] Расширенные шаблоны Solidity (EIP-5006, пользовательские расширения)
[✓] Разработка zkSync Layer 2
[✓] Хуки React и управление состоянием
[✓] Типобезопасность TypeScript
[✓] Методы оптимизации расхода газа
[✓] Лучшие практики безопасности смарт-контрактов
МЯГКИЕ НАВЫКИ:
------------
[✓] Архитектура и планирование проекта
[✓] Самостоятельное решение проблем
[✓] Управление временем в условиях давления
[✓] Написание понятной документации
[✓] Дизайн пользовательского опыта
[✓] Настойчивость в преодолении трудностей
ОСНОВНЫЕ ИДЕИ:
-------------
* Начните с простого: сначала MVP, потом функции
* Тестируйте заранее: экономьте время, выявляя ошибки на ранних стадиях
* User First: проектирование для пользователей, а не для разработчиков
* Газ имеет значение: любая оптимизация зависит от блокчейна
* Документация: Будущее, которое ты будешь благодарить, настоящее тебя
================================================================================
ПОЧЕМУ ЭТОТ ПРОЕКТ ВАЖЕН
================================================================================
В WEB2-ИГРАХ:
---------------
[✗] Вы не являетесь владельцем своих вещей
[✗] Нельзя одолжить друзьям
[✗] Нет совместимости с другими играми
[✗] Студии контролируют всё
[✗] Нет прозрачности
В WEB3 С РЮКЗАЧНЫМИ ГИЛЬДИЯМИ:
-----------------------------
[✓] Истинное право собственности на предмет
[✓] Сдавайте в аренду и одалживайте свободно
[✓] Он-чейн крафт
[✓] Экономика, управляемая игроками
[✓] Полная прозрачность
БУДУЩЕЕ:
-----------
Это только начало. Представьте:
* Игры AAA, использующие этот протокол
* Совместимость предметов между играми
* Реальная экономика, созданная игроками
* Турниры со ставками на предметы
* Глобальные игровые гильдии
================================================================================
БЫСТРЫЕ КОМАНДЫ
================================================================================
# УСТАНОВКА
установка pnpm
# РАЗРАБОТКА
pnpm dev # Запустить сервер разработки
pnpm build # Сборка для производства
pnpm test # Запуск тестов
# КОНТРАКТЫ
пакеты компакт-дисков/контракты
pnpm compile # Компиляция контрактов
pnpm Deploy:zksync # Развертывание в zkSync
pnpm test # Запуск тестов контракта
# ВНЕШНИЙ ИНТЕРФЕЙС
cd пакеты/фронтенд
pnpm dev # Запустить сервер Next.js dev
pnpm build # Сборка для производства
pnpm start # Запуск производственного сервера
# КОММУНАЛЬНЫЕ УСЛУГИ
node check-balances.js # Проверка баланса товаров
node check-recipes.js # Просмотр зарегистрированных рецептов
node check-contracts.js # Проверка развертываний
================================================================================
ЗАКЛЮЧИТЕЛЬНЫЕ СЛОВА
================================================================================
Backpack Guilds — это больше, чем просто проект хакатона. Это видение будущего.
Будущее игр. Созданная полностью одним разработчиком за одну неделю, она доказывает, что:
* Инновации не требуют огромной команды
* Web3-гейминг — это будущее
* Истинное право собственности имеет значение для игроков
* Уровень 2 делает блокчейн-игры жизнеспособными
* Разработчики-одиночки могут конкурировать с крупными студиями
================================================================================
КОНТАКТЫ И ПОДДЕРЖКА
================================================================================
РАЗРАБОТЧИК-ОДИНОЧКА: Создаём будущее игровой индустрии, по одному контракту за раз
ТЕЛЕФОН/ТЕЛЕГРАММА: 0700708003
ЭЛЕКТРОННАЯ ПОЧТА: Доступно по запросу
ТВИТТЕР: Скоро
LINKEDIN: Скоро
ССЫЛКИ НА ПРОЕКТ:
* Демонстрация в реальном времени: http://localhost:3000 (запустить локально)
* GitHub: [Ссылка на репозиторий]
* Обозреватель блоков: https://sepolia.explorer.zksync.io
ПОЛУЧИТЬ ПОМОЩЬ:
* Открыть задачу на GitHub
* Звонок/сообщение: 0700708003
* Отправьте электронное письмо с вопросами
* Сначала проверьте документацию
================================================================================
Сделано с любовью и кофе индивидуальным разработчиком
ГИЛЬДИИ С РЮКЗАКАМИ — ГДЕ ГЕЙМЕРЫ РУКОВОДЯТ СВОИМ БУДУЩИМ
Создано на zkSync • Работает на инновациях • Движимо страстью
КОНТАКТ: 0700708003