Що таке оператор вузла Kora?
Як оператор вузла Kora, ви керуєте сервісом paymaster, який спонсорує комісії за транзакції Solana для ваших користувачів. Ваш вузол приймає платежі в токенах SPL і використовує ваш SOL для оплати фактичних мережевих комісій, забезпечуючи транзакції без газу для вашого застосунку.
Чому варто запускати вузол Kora?
- Кращий UX: Ваші користувачі здійснюють транзакції без потреби в SOL (спрощена реєстрація, краще утримання тощо)
- Джерело доходу: Збирайте комісії в токенах, які ви надаєте перевагу для свого бізнесу (USDC, BONK тощо)
Зміст
Швидкий старт
Хочете спочатку спробувати локально? Запустіть локальний вузол Kora за кілька хвилин: → Посібник зі швидкого старту
Основні концепції
Як оператор вузла Kora, ви відповідаєте за роботу безпечного сервісу paymaster, який забезпечує транзакції без газу для ваших користувачів.
Кожен запит проходить один і той самий шлях. У лівій колонці показано, що відбувається з транзакцією. У правій колонці — частина вашої конфігурації, яка визначає результат на кожному етапі.
Ваш вузол має чотири ключові обов'язки:
1. Перевірка транзакцій
Налаштуйте свій вузол на прийняття лише тих транзакцій, які відповідають вимогам
вашого бізнесу через kora.toml:
- Списки дозволених токенів: Визначте, які токени SPL ви приймаєте як оплату (підтримує як SPL, так і Token-2022)
- Списки дозволених програм: Внесіть у білий список програми Solana, з якими можуть взаємодіяти користувачі
- Ліміти транзакцій: Встановіть максимальні комісії, які ви готові сплатити, та обмеження підписів
- Списки блокування облікових записів: Запобігайте взаємодії з проблемними адресами
- Оракули цін: Налаштуйте Jupiter або імітацію ціноутворення для розрахунку комісій
- Токени оплати: Вкажіть, які типи токенів ви прийматимете як оплату
- Політики feepayer: Контролюйте, які операції може виконувати ваш feepayer (перекази, спалювання, схвалення тощо)
- Розширення Token-2022: Блокуйте конкретні розширення Token-2022 для підвищення безпеки
- Кешування: Увімкніть кешування Redis для покращення продуктивності шляхом зменшення викликів RPC
- Ліміти використання: Встановіть ліміти транзакцій для кожного гаманця, щоб запобігти зловживанням, забезпечити справедливе використання або винагородити користувачів субсидованими транзакціями до певного ліміту
→ Повний довідник конфігурації Kora.toml → Приклад kora.toml
2. Підписання транзакцій
Вашому вузлу потрібна пара ключів Solana для підписання транзакцій як платника комісій. Для продакшн-розгортань Kora підтримує багатопідписувальні конфігурації для покращеної надійності та розподілу блокувань облікових записів. Розгляньте впровадження ротації ключів, контролю доступу, резервних копій та інших стратегій безпеки підписувачів. Доступні варіанти підписання:
- Локальний приватний ключ: Зберігання приватного ключа безпосередньо в серверному середовищі (у форматі base58, файлу .json або масиву u8)
- Turnkey: Спрощене керування приватними ключами. Створюйте гаманці, підписуйте транзакції та автоматизуйте дії в мережі.
- Privy: Проста криптоінфраструктура. Безпечно створюйте whitlabel-гаманці та підписуйте транзакції.
- HashiCorp Vault: Керування секретами та захист конфіденційних даних
→ Повний посібник з налаштування підписувачів
3. Оплата комісій за транзакції
Підтримуйте достатню кількість SOL для покриття мережевих комісій згідно з очікуваним обсягом транзакцій:
- Моніторинг балансу: Відстежуйте баланс SOL і налаштуйте сповіщення про низький баланс (Kora надає вбудовані метрики Prometheus — див. Моніторинг)
- Автоматизація: Впровадіть автоматичні процедури поповнення SOL для продакшн-середовищ
- Планування потужностей: Плануйте відповідно до очікуваного варіанту використання, обсягу користувачів тощо.
Важливо розуміти, як Kora оцінює комісії та як налаштувати ваш вузол для максимізації доходу. Докладніше див. у Посібнику з оцінки комісій.
4. Моніторинг операцій
Постійно відстежуйте показники безпеки, продуктивності та бізнесу вашого вузла:
- Моніторинг безпеки: Незвичайні патерни, невдалі перевірки та порушення обмежень швидкості
- Операційні сповіщення: Стан системи, попередження про баланс та події безпеки
- Фінансове відстеження: Витрати SOL порівняно з доходом у токенах, аналіз прибутковості
- Моніторинг балансу підписувачів: Відстежуйте баланс підписувача та налаштуйте сповіщення про низький баланс
Kora надає опціональну кінцеву точку /metrics, яка надає дані про
продуктивність у реальному часі у форматі Prometheus.
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
Конфігурація
Кожен RPC-вузол Kora має бути налаштований щонайменше з:
- кінцевою точкою 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-токенів, програм, облікових записів, розширень токенів тощо)
- Моделі ціноутворення комісій
- Розширені політики платника комісій (захист від небажаної поведінки підписувача)
- Збір метрик
- Конфігурація кешування 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?