Что, если каждый правильный ответ в викторине приносил бы тебе крипту?
Я решил проверить эту идею - и собрал 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