Что такое оператор узла Kora?
Как оператор узла Kora, вы запускаете сервис paymaster, который спонсирует комиссии за транзакции Solana для ваших пользователей. Ваш узел принимает платежи в токенах SPL и использует ваш SOL для оплаты фактических сетевых комиссий, обеспечивая транзакции без газа для вашего приложения.
Зачем запускать узел Kora?
- Улучшенный UX: Ваши пользователи совершают транзакции без необходимости в SOL (упрощенная регистрация, лучшее удержание и т.д.)
- Источник дохода: Собирайте комиссии в токенах, предпочитаемых вашим бизнесом (USDC, BONK и т.д.)
Содержание
Быстрый старт
Хотите сначала попробовать локально? Запустите локальный узел Kora за несколько минут: → Руководство по быстрому старту
Основные концепции
Как оператор узла Kora, вы отвечаете за запуск безопасного сервиса paymaster, который обеспечивает транзакции без газа для ваших пользователей. У вашего узла есть четыре ключевые обязанности:
1. Валидация транзакций
Настройте свой узел так, чтобы он принимал только транзакции, соответствующие
требованиям вашего бизнеса, через kora.toml:
- Белые списки токенов: Определите, какие SPL-токены вы принимаете в качестве платежа (поддерживаются как SPL, так и Token-2022)
- Белые списки программ: Укажите, с какими программами Solana могут взаимодействовать пользователи
- Лимиты транзакций: Установите максимальные комиссии, которые вы готовы платить, и лимиты подписей
- Черные списки аккаунтов: Предотвратите взаимодействие с проблемными адресами
- Оракулы ценообразования: Настройте Jupiter или mock-ценообразование для расчета комиссий
- Платежные токены: Укажите, какие типы токенов вы будете принимать в качестве платежа
- Политики feepayer: Контролируйте, какие операции может выполнять ваш feepayer (переводы, сжигание, одобрения и т.д.)
- Расширения Token-2022: Блокируйте определенные расширения Token-2022 для повышения безопасности
- Кэширование: Включите кэширование Redis для улучшения производительности за счет сокращения RPC-вызовов
- Лимиты использования: Установите лимиты транзакций для каждого кошелька, чтобы предотвратить злоупотребления, обеспечить справедливое использование или вознаградить пользователей субсидируемыми транзакциями до определенного лимита
→ Полный справочник по конфигурации Kora.toml → Пример kora.toml
2. Подпись транзакций
Вашей ноде требуются пары ключей Solana для подписи транзакций в качестве плательщика комиссий. Для производственных развертываний Kora поддерживает конфигурации с несколькими подписантами для повышения надежности и распределения блокировок аккаунтов. Рассмотрите возможность внедрения ротации ключей, контроля доступа, резервного копирования и других стратегий для обеспечения безопасности подписантов. Доступные варианты подписи:
- Локальный приватный ключ: Хранение приватного ключа непосредственно в серверной среде (в формате base58, файла .json или массива u8)
- Turnkey: Упрощенное управление приватными ключами. Создавайте кошельки, подписывайте транзакции и автоматизируйте действия в блокчейне.
- Privy: Простая криптоинфраструктура. Безопасно создавайте whitelabel-кошельки и подписывайте транзакции.
- HashiCorp Vault: Управление секретами и защита конфиденциальных данных
→ Полное руководство по конфигурации подписантов
3. Оплата комиссий за транзакции
Поддерживайте достаточное количество SOL для покрытия сетевых комиссий в соответствии с ожидаемым объемом транзакций:
- Мониторинг баланса: Отслеживайте баланс SOL и настройте оповещения о низком балансе (Kora предоставляет встроенные метрики Prometheus — см. раздел Мониторинг)
- Автоматизация: Внедрите процедуры автоматического пополнения SOL для производственных сред
- Планирование мощностей: Планируйте с учетом ожидаемого сценария использования, объема пользователей и т. д.
Важно понимать, как Kora оценивает комиссии и как настроить вашу ноду для максимизации дохода. Подробнее см. в Руководстве по оценке комиссий.
4. Мониторинг операций
Непрерывно отслеживайте показатели безопасности, производительности и бизнес-метрики вашей ноды:
- Мониторинг безопасности: Необычные шаблоны, неудачные проверки и нарушения ограничений скорости
- Операционные оповещения: Состояние системы, предупреждения о балансе и события безопасности
- Финансовое отслеживание: Затраты на SOL в сравнении с доходом в токенах, анализ прибыльности
- Мониторинг баланса подписантов: Отслеживайте баланс подписантов и настройте оповещения о низком балансе
Kora предоставляет необязательный эндпоинт /metrics, который выдает данные о
производительности в реальном времени в формате Prometheus.
→ Справочное руководство по мониторингу Kora
5. Оптимизация производительности (необязательно)
Для развертываний с высокой нагрузкой включите кэширование Redis, чтобы сократить количество RPC-вызовов и улучшить время отклика:
- Кэширование аккаунтов: кэширует данные аккаунтов Solana с настраиваемым временем жизни (TTL)
- Автоматический откат: плавно переключается на прямые RPC-вызовы, если Redis недоступен
- Управление кэшем: автоматическое истечение срока действия и возможности принудительного обновления для критических операций
Kora CLI
Крейт kora-cli — это готовый к использованию в продакшене бинарный файл на Rust, который предоставляет всё необходимое для запуска узла платёжного мастера Kora. Он распространяется как автономный исполняемый файл, который можно установить глобально или развернуть в контейнерах.
Варианты установки
Глобальная установка (рекомендуется для разработки)
cargo install kora-cli
Или сборка из исходного кода (рекомендуется для участия в разработке)
git clone https://github.com/solana-foundation/kora.gitcd korajust install
Базовое использование
RPC-сервер Kora предоставляет эндпоинт JSON-RPC (по умолчанию:
http://localhost:8080). Запустите его командой kora rpc:
# Run with specified kora.toml and signers.tomlkora --config path/to/kora.toml rpc start --signers-config path/to/signers.toml# Helpkora rpc --help
Для получения дополнительной информации об использовании Kora CLI см. руководство по CLI.
Приложения могут получить доступ к RPC-серверу Kora через Kora TS SDK
Конфигурация
Каждый узел Kora RPC должен быть настроен как минимум с:
- эндпоинтом Solana RPC (указывается через флаг
--rpc-urlили переменную окруженияRPC_URL) [по умолчанию: http://127.0.0.1:8899] - конфигурацией подписантов Solana (указывается через флаг
--signers-config signers.toml) - конфигурационным файлом
kora.toml(указывается через флаг--config path/to/kora.toml)
kora.toml
Перед развертыванием необходимо создать и настроить kora.toml для указания:
- Ограничения частоты запросов и аутентификация
- Адрес назначения платежа
- Доступность методов RPC
- Правила валидации транзакций
- Политики безопасности (белый или чёрный список SPL-токенов, программ, аккаунтов, Token Extensions и т.д.)
- Модели ценообразования комиссий
- Расширенные политики плательщика комиссий (защита от нежелательного поведения подписантов)
- Сбор метрик
- Конфигурация кэширования Redis (необязательно)
signers.toml
Вам также потребуется создать файл signers.toml, чтобы указать:
- Подписант(ы) для вашего узла
- Стратегию выбора подписанта
- Конфигурацию каждого подписанта и применимые ключи
Развертывание
Локальное развертывание
Запустите и протестируйте локальный сервер Kora за считанные минуты: Руководство по быстрому старту
Docker
Используйте образец Dockerfile для развертывания на любой контейнерной платформе. Файл docker-compose.yml включает Redis для поддержки кеширования:
→ Образец Dockerfile → Docker Compose с Redis
Руководства для конкретных платформ
Скоро появятся дополнительные руководства по интеграции
Нужна помощь?
- Solana Stack Exchange - Задавайте
вопросы и делитесь знаниями (обязательно используйте тег
kora) - GitHub Issues - Сообщайте об ошибках или получайте помощь
- Выполните
kora rpc --help, чтобы увидеть все доступные флаги и параметры конфигурации
Is this page helpful?