Image

Как я подружил OpenAI, Rust и Solana: квиз, который платит токенами за правильные ответы

Что, если каждый правильный ответ в викторине приносил бы тебе крипту?

Я решил проверить эту идею — и собрал Solana Quiz, децентрализованное приложение, где пользователи проходят ежедневные квизы с вопросами от OpenAI и получают Solana-токены за правильные ответы.

Да, это реально работает. И да — токен мы тоже создаём сами 😎

🚀 Идея

Я давно хотел объединить AI, Rust и блокчейн в одном проекте, где каждая часть реально работает, а не просто «для галочки».

Результат:

  • OpenAI каждый день создаёт новые вопросы,

  • Node.js проверяет ответы и управляет логикой,

  • Rust начисляет токены через Solana,

  • Kafka связывает все сервисы в единую событийную систему.

Получился умный, честный и прозрачный квиз, где награды приходят не на email, а на твой кошелёк Phantom.

💡 Как это работает

1️⃣ Авторизация через Solana-кошелёк

Пользователь подключает Phantom Wallet, подписывает сообщение — Node.js проверяет подпись и этим удостоверяет владение адресом. (На данный момент поддерживается только Phantom — добавление других кошельков в коде предусмотрено.)

Никаких паролей, токенов, логинов — чистая блокчейн-аутентификация.

Главная страница (после авторизации)
Главная страница (после авторизации)

2️⃣ Вопросы — от OpenAI

Каждое утро Node.js делает запрос к OpenAI API (используется модель gpt-4.1-nano) и получает новую подборку вопросов.

OPEN_AI_API_KEY=your_openai_api_key_here OPEN_AI_MODEL=gpt-4.1-nano OPEN_AI_LANGUAGE=English

💡 Для этого тебе нужен аккаунт OpenAI и рабочий API-ключ.
Без него вопросов просто не будет — квиз останется немым 🤖

OpenAI отвечает за креатив: вопросы всегда немного разные — от истории блокчейна до логических задач.

3️⃣ Проверка и награждение

После того как ты сдаёшь квиз, Node.js считает результат и публикует событие в Kafka:

{ «user_id»: 1, «user_wallet»: «8WwP…xyz», «quiz_id»: «20251013», «earned_tokens»: 10 }

Rust-сервис, слушая эту тему, подключается к Solana RPC и… 💸
переводит токены на твой кошелёк.

Кошелек с заработанными токенами
Кошелек с заработанными токенами

🏗 Архитектура

Сервис

Технологии

Назначение

Frontend

Next.js, React, TailwindCSS

Интерфейс и интеграция кошелька

Backend

Node.js, Express, Prisma, KafkaJS, OpenAI API

Логика квиза, генерация вопросов, API

Rust Worker

Rust, Solana SDK, rdkafka

Минтинг и переводы токенов

Database

PostgreSQL

Хранение данных пользователей и результатов

Infra

Docker Compose

Оркестрация всех сервисов

🪙 Создание собственного токена

Вот тут начинается самое интересное — мы создаём свой собственный SPL-токен в сети Solana.

Это не просто демо-коин — он лежит в основе всей экономики квиза и позволяет делать систему наград прозрачной и децентрализованной.

⚠️ Но сначала — обязательно подготовь .env

Перед запуском Rust-команд нужно убедиться, что в .env всё настроено:

SOLANA_NETWORK=devnet SOLANA_RPC_ENDPOINT=https://api.devnet.solana.com SOLANA_AUTHORITY_KEYPAIR_PATH=./secret/authority.json SOLANA_MINT_KEYPAIR_PATH=./secret/mint.json SOLANA_TOKEN_NAME=»Solana Quiz Token» SOLANA_TOKEN_SYMBOL=»SQT» SOLANA_TOKEN_METADATA_URI=»https://raw.githubusercontent.com/di-zed/internal-storage/refs/heads/main/solana-quiz-token/metadata.json»

Без этих параметров токен просто не создастся.
А без токена — какой же это Solana Quiz? 😉

⚡ Важно: имя токена, символ, описание и метаданные можно изменить на свой лад — это твой токен, твоя вселенная.

🚀 Дальше по шагам:

# Входим в контейнер Rust docker-compose exec rust /bin/bash # Компилируем бинарь cargo build —release # Запрашиваем SOL для аккаунта-авторитета ./target/release/solana request-airdrop —sol-amount 5 # Создаём новый токен ./target/release/solana create-mint # Создаём токен-аккаунт для хранения ./target/release/solana create-token-account # Минтим 1,000,000 токенов ./target/release/solana mint-tokens —amount 1000000

Эти токены — “банк наград”.
Когда кто-то правильно отвечает на вопросы, Rust распределяет токены именно отсюда.

Чтобы всё красиво отображалось в кошельке и Solana Explorer, создаём метаданные: пример metadata.json

🧠 Почему Rust

Rust идеально подходит для работы с Solana SDK — безопасно, асинхронно и без сюрпризов с памятью.
Даже если раньше ты его боялся, после этого проекта он станет твоим крипто-другом 🦀

💎 Где это можно использовать

  • 🎓 EdTech: токенизируй обучение — правильные ответы = реальные награды.

  • 🏢 Корпоративные квизы: мотивация сотрудников через токены.

  • 🌐 Криптосообщества: ежедневные активности и награды в сети Solana.

  • 💰 Лояльность и геймификация: on-chain поощрения за участие и активность.

🧭 Roadmap

  • 🏆 NFT rewards — выдача NFT за серии правильных ответов

  • 🔗 Solana Program — хранение истории квизов и автоматическая раздача NFT

  • 🚀 Миграция на mainnet-beta

В будущем Solana-программа будет хранить историю квизов прямо в блокчейне и автоматически выдавать NFT тем, кто держит “стрик” правильных ответов — например, 7 дней подряд.

NFT можно будет создать вручную через Metaplex — своя коллекция, свои дизайны, свои награды 🎨

🧩 Немного о технической стороне

В этой статье я специально не расписывал установку и команды по шагам — чтобы не превращать её в технический роман на 30 экранов. 😄

Если хочется не просто почитать, а запустить проект, создать свой токен, подключить OpenAI и увидеть, как Solana действительно шлёт токены за правильные ответы — всё это подробно разобрано в README на GitHub.

Там есть пошаговые инструкции, примеры .env, команды для Docker, Rust и Node.js — одним словом, полный арсенал для тех, кто хочет копнуть глубже.

🧱 Итог

Solana Quiz — это не демо и не эксперимент.
Это живое приложение, где AI, Rust и блокчейн работают вместе.

  • OpenAI генерирует контент

  • Node.js управляет логикой

  • Kafka связывает всё в единое целое

  • Rust обрабатывает реальные транзакции

Результат — честная система вознаграждений, где знания приносят крипту, а не только “очки”.

⚙️ Проект полностью запускается через Docker — достаточно клонировать репозиторий и следовать README на GitHub.Всё описано пошагово, включая генерацию ключей, настройку Solana и OpenAI.

📦 GitHub: github.com/di-zed/solana-quiz
📜 Лицензия: MIT
✍️ Автор: @di-zed

Источник: habr.com

✅ Найденные теги: Как, новости
Каталог бесплатных опенсорс-решений, которые можно развернуть локально и забыть о подписках

галерея

Фото сгенерированных лиц: исследование показывает, что люди не могут отличить настоящие лица от сгенерированных
Нейросети построили капитализм за трое суток: 100 агентов Claude заперли…
Скетч: цифровой осьминог и виртуальный мир внутри компьютера с человечком.
Сцена с жестами пальцами, где один жест символизирует "VPN", а другой "KHP".
‼️Paramount купила Warner Bros. Discovery — сумма сделки составила безумные…
Скриншот репозитория GitHub "Claude Scientific Skills" AI для научных исследований.
Структура эффективного запроса Claude с элементами задачи, контекста и референса.
Эскиз и готовая веб-страница платформы для AI-дизайна в современном темном режиме.
ideipro logotyp
Image Not Found
Звёздное небо с галактиками и туманностями, космос, Вселенная, астрофотография.

Система оповещения обсерватории Рубина отправила 800 000 сигналов в первую ночь наблюдений.

Астрономы будут получать оповещения о небесных явлениях в течение нескольких минут после их обнаружения. Теренс О'Брайен, редактор раздела «Выходные». Публикации этого автора будут добавляться в вашу ежедневную рассылку по электронной почте и в ленту новостей на главной…

Мар 2, 2026
Женщина с длинными тёмными волосами в синем свете, нейтральный фон.

Расследование в отношении 61-фунтовой машины, которая «пожирает» пластик и выплевывает кирпичи.

Обзор компактного пресса для мягкого пластика Clear Drop — и что будет дальше. Шон Холлистер, старший редактор Публикации этого автора будут добавляться в вашу ежедневную рассылку по электронной почте и в ленту новостей на главной странице вашего…

Мар 2, 2026
Черный углеродное волокно с текстурой плетения, отражающий свет.

Материал будущего: как работает «бессмертный» композит

Учёные из Университета штата Северная Каролина представили композит нового поколения, способный самостоятельно восстанавливаться после серьёзных повреждений.  Речь идёт о модифицированном армированном волокном полимере (FRP), который не просто сохраняет прочность при малом весе, но и способен «залечивать» внутренние…

Мар 2, 2026
Круглый экран с изображением замка и горы, рядом электронная плата.

Круглый дисплей Waveshare для креативных проектов

Круглый 7-дюймовый сенсорный дисплей от Waveshare создан для разработчиков и дизайнеров, которым нужен нестандартный экран.  Это IPS-панель с разрешением 1 080×1 080 пикселей, поддержкой 10-точечного ёмкостного сенсора, оптической склейкой и защитным закалённым стеклом, выполненная в круглом форм-факторе.…

Мар 2, 2026

Впишите свой почтовый адрес и мы будем присылать вам на почту самые свежие новости в числе самых первых