Kora 노드 운영자란?
Kora 노드 운영자로서, 귀하는 사용자를 위해 Solana 트랜잭션 수수료를 후원하는 페이마스터 서비스를 운영합니다. 귀하의 노드는 SPL 토큰 결제를 받고 귀하의 SOL을 사용하여 실제 네트워크 수수료를 지불함으로써, 애플리케이션에서 가스리스 트랜잭션을 가능하게 합니다.
Kora 노드를 운영하는 이유는?
- 향상된 사용자 경험: 사용자가 SOL 없이 트랜잭션을 수행할 수 있습니다 (간소화된 온보딩, 더 나은 유지율 등)
- 수익원: 귀하의 비즈니스가 선호하는 토큰(USDC, BONK 등)으로 수수료를 받습니다
목차
빠른 시작
먼저 로컬에서 시도해보고 싶으신가요? 몇 분 안에 로컬 Kora 노드를 실행해보세요: → 로컬 빠른 시작 가이드
핵심 개념
Kora 노드 운영자로서, 귀하는 사용자를 위한 가스리스 트랜잭션을 가능하게 하는 안전한 페이마스터 서비스를 운영할 책임이 있습니다. 귀하의 노드는 네 가지 핵심 책임을 가집니다:
1. 트랜잭션 검증
kora.toml를 통해 귀하의 비즈니스 요구사항을 충족하는 트랜잭션만 수락하도록
노드를 구성하세요:
- 토큰 허용 목록: 결제로 수락할 SPL 토큰을 정의합니다 (SPL 및 Token-2022 모두 지원)
- 프로그램 허용 목록: 사용자가 상호작용할 수 있는 Solana 프로그램을 화이트리스트에 추가합니다
- 트랜잭션 한도: 지불할 의사가 있는 최대 수수료 및 서명 한도를 설정합니다
- 계정 차단 목록: 문제가 있는 주소와의 상호작용을 방지합니다
- 가격 오라클: 수수료 계산을 위해 Jupiter 또는 모의 가격 책정을 구성합니다
- 결제 토큰: 결제로 수락할 토큰 유형을 지정합니다
- 수수료 지불자 정책: 수수료 지불자가 수행할 수 있는 작업(전송, 소각, 승인 등)을 제어합니다
- Token-2022 확장: 보안 강화를 위해 특정 Token-2022 확장을 차단합니다
- 캐싱: RPC 호출을 줄여 성능을 향상시키기 위해 Redis 캐싱을 활성화합니다
- 사용량 한도: 남용 방지, 공정한 사용 보장 또는 특정 한도까지 보조금이 지원되는 트랜잭션으로 사용자에게 보상하기 위해 지갑당 트랜잭션 한도를 설정합니다
→ 전체 Kora.toml 구성 참조 → Kora.toml 예제
2. 트랜잭션 서명
노드가 수수료 지불자로서 트랜잭션에 서명하려면 Solana keypair가 필요합니다. 프로덕션 배포의 경우, Kora는 향상된 안정성과 계정 잠금 분산을 위해 다중 서명자 구성을 지원합니다. 서명자 보안을 위해 키 순환, 액세스 제어, 백업 및 기타 전략 구현을 고려하세요. 사용 가능한 서명 옵션:
- 로컬 개인 키: 서버 환경에 개인 키를 직접 저장(base58, .json 파일 또는 u8 배열 형식으로)
- Turnkey: 간편한 개인 키 관리. 지갑을 생성하고 트랜잭션에 서명하며 온체인 작업을 자동화합니다.
- Privy: 간편한 암호화 인프라. 화이트라벨 지갑을 안전하게 구축하고 트랜잭션에 서명합니다.
- HashiCorp Vault: 기밀 정보 관리 및 민감한 데이터 보호
3. 트랜잭션 수수료 지불
예상되는 트랜잭션 볼륨에 대한 네트워크 수수료를 충당하기에 충분한 SOL을 유지하세요:
- 잔액 모니터링: SOL 잔액을 추적하고 낮은 잔액 알림을 설정합니다(Kora는 기본 제공 Prometheus 메트릭을 제공합니다 - 모니터링 참조)
- 자동화: 프로덕션 환경을 위한 자동 SOL 충전 절차를 구현합니다
- 용량 계획: 예상되는 사용 사례, 사용자 볼륨 등을 계획합니다.
Kora가 수수료를 추정하는 방법과 수익을 극대화하기 위해 노드를 구성하는 방법을 이해하는 것이 중요합니다. 자세한 내용은 수수료 추정 가이드를 참조하세요.
4. 운영 모니터링
노드의 보안, 성능 및 비즈니스 메트릭을 지속적으로 추적하세요:
- 보안 모니터링: 비정상적인 패턴, 실패한 검증 및 속도 제한 위반
- 운영 알림: 시스템 상태, 잔액 경고 및 보안 이벤트
- 재무 추적: SOL 비용 대비 토큰 수익, 수익성 분석
- 서명자 잔액 모니터링: 서명자 잔액을 추적하고 낮은 잔액 알림을 설정합니다
Kora는 Prometheus 형식으로 실시간 성능 데이터를 제공하는 선택적 /metrics
엔드포인트를 제공합니다.
5. 성능 최적화 (선택 사항)
트래픽이 많은 배포 환경에서는 Redis 캐싱을 활성화하여 RPC 호출을 줄이고 응답 시간을 개선할 수 있습니다:
- 계정 캐싱: 구성 가능한 TTL(Time To Live)을 사용하여 Solana 계정 데이터 캐시
- 자동 폴백: Redis를 사용할 수 없는 경우 직접 RPC 호출로 원활하게 전환
- 캐시 관리: 중요한 작업을 위한 자동 만료 및 강제 새로고침 기능
Kora CLI
kora-cli 크레이트는 Kora 페이마스터 노드를 실행하는 데 필요한 모든 기능을 제공하는 프로덕션 환경에 적합한 Rust 바이너리입니다. 전역으로 설치하거나 컨테이너에 배포할 수 있는 독립 실행형 실행 파일로 배포됩니다.
설치 옵션
전역 설치 (개발 환경에 권장)
cargo install kora-cli
또는 소스에서 빌드 (기여할 때 권장)
git clone https://github.com/solana-foundation/kora.gitcd korajust install
기본 사용법
Kora RPC 서버는 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 가이드를 참조하세요.
애플리케이션은 Kora TS SDK를 통해 Kora RPC 서버에 액세스할 수 있습니다.
구성
모든 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 → Redis를 포함한 Docker Compose
플랫폼별 가이드
더 많은 통합 가이드가 곧 제공될 예정입니다
도움이 필요하신가요?
- Solana Stack Exchange - 질문하기/학습
내용 공유 (반드시
kora태그를 사용하세요) - GitHub Issues - 버그 신고 또는 도움 받기
kora rpc --help를 실행하여 사용 가능한 모든 플래그 및 구성 옵션 확인
Is this page helpful?