Документація операторів Kora

Що таке оператор вузла Kora?

Як оператор вузла Kora, ви керуєте сервісом paymaster, який спонсорує комісії за транзакції Solana для ваших користувачів. Ваш вузол приймає платежі в токенах SPL і використовує ваш SOL для оплати фактичних мережевих комісій, забезпечуючи транзакції без газу для вашого застосунку.

Чому варто запускати вузол Kora?

  • Кращий UX: Ваші користувачі здійснюють транзакції без потреби в SOL (спрощена реєстрація, краще утримання тощо)
  • Джерело доходу: Збирайте комісії в токенах, які ви надаєте перевагу для свого бізнесу (USDC, BONK тощо)

Зміст

Швидкий старт

Хочете спочатку спробувати локально? Запустіть локальний вузол Kora за кілька хвилин: → Посібник зі швидкого старту

Основні концепції

Як оператор вузла Kora, ви відповідаєте за роботу безпечного сервісу paymaster, який забезпечує транзакції без газу для ваших користувачів.

Кожен запит проходить один і той самий шлях. У лівій колонці показано, що відбувається з транзакцією. У правій колонці — частина вашої конфігурації, яка визначає результат на кожному етапі.

A transaction travels from the client app through the gateway, validation, plugins, and signing, before Kora either returns it or broadcasts it. Each stage is governed by a matching section of kora.toml or signers.toml.

Ваш вузол має чотири ключові обов'язки:

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.

→ Довідник моніторингу 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.git
cd kora
just install

Базове використання

RPC-сервер Kora надає кінцеву точку JSON-RPC (за замовчуванням: http://localhost:8080). Запустіть його за допомогою команди kora rpc:

# Run with specified kora.toml and signers.toml
kora --config path/to/kora.toml rpc start --signers-config path/to/signers.toml
# Help
kora 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?