Kora Hızlı Başlangıç Kılavuzu

Son Güncelleme: 2025-10-31

Kora Temelleri

Kora, Solana işlemleri için ücret ödeme hizmetleri sağlayan bir JSON-RPC sunucusudur. Kullanıcıların SOL yerine SPL token'ları ile işlem ücretlerini ödemelerine olanak tanıyarak, kullanıcıların SOL bulundurmadığı uygulamalar için daha iyi bir kullanıcı deneyimi sağlar.

Kora RPC, izin verilen programları, cüzdanları, token'ları vb. tanımlayan bir yapılandırmaya (kora.toml) dayalı olarak istemci isteklerini doğrular. Doğrulandıktan sonra Kora sunucusu işlemi imzalayacak ve ağa gönderecektir (veya istemciye serileştirilmiş imzalı bir işlem döndürecektir).

┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Client App │───▶│ Kora RPC │───▶│ Solana RPC │
│ │ │ Server │ │ │
└─────────────────┘ └─────────────────┘ └─────────────────┘
┌──────────────────────┐
│ Kora Private Key │
│ ( or Turnkey/Privy ) │
└──────────────────────┘

Bu hızlı başlangıç, yerel bir Kora RPC sunucusu başlatacak ve ücret ödeme iş akışlarını test etmek için istemci entegrasyonunu gösterecektir.

Gereksinimler

Kora RPC Kurulumu

Kora RPC sunucusunu global olarak kurun:

cargo install kora-cli

Önemli: Kora'nın main dalı bir entegrasyon dalıdır ve yayınlanmamış veya beta değişiklikler içerebilir. Üretim ve eğitim kullanımı için her zaman en son kararlı sürüm etiketini kullanın. En son kararlı sürümü Kora sürümler sayfasında bulabilirsiniz.

Proje Oluşturma

Depoyu klonlayın, en son kararlı etiketi kontrol edin ve başlangıç demo dizinine gidin:

git clone https://github.com/solana-foundation/kora
cd kora
git checkout v2.0.5
cd examples/getting-started/demo

Proje Yapısı

Demo üç ana bileşen içerir:

İstemci Dizini (client/src/)

  • setup.ts - Yerel ortam kurulumu (keypair oluşturur ve .env dosyasına yazar, SOL airdrop yapar, test token'ını başlatır)
  • quick-start.ts - Kora bağlantısı kurma ve Kora RPC sunucusuna basit bir çağrı yapma gösteren hızlı başlangıç gösterim betiği
  • full-demo.ts - Birden fazla Kora RPC yöntemini gösteren tam demo betiği

Sunucu Dizini (server/)

  • kora.toml - Doğrulama kurallarını, izin verilen tokenları ve ücret parametrelerini tanımlayan Kora RPC yapılandırması
  • signers.toml - Kora sunucusu için imzalayanları tanımlayan imzalayan yapılandırması

Paylaşılan Yapılandırma

  • .env - Anahtar çiftleri ve adresler için ortam değişkenleri (kök dizinde .env oluşturun - demo/.env). Ortam değişkenleri kurulum betiği tarafından oluşturulacaktır.

Ortamı Hazırlama

Öncelikle ortamınız için .env dosyasını oluşturun:

# Create .env file (will be populated by setup script)
touch .env

İstemciyi Hazırlama

İstemci bağımlılıklarını yükleyin:

# From project root (kora/)
cd examples/getting-started/demo/client
pnpm install --ignore-workspace # use --ignore-workspace to avoid pnpm workspace conflicts

Kora RPC Sunucusunu Hazırlama

Kora sunucusu, ücret ödemesi için hangi tokenların kullanılabileceğini belirtmek üzere yapılandırma gerektirir. server/kora.toml dosyasını açın ve doğrulama bölümüne dikkat edin. Burada bir işlemi imzalamadan önce doğrulanacak birkaç parametre belirtebiliriz:

  • max_allowed_lamports: kullanıcı adına ödemeye razı olduğunuz maksimum işlem ücreti
  • max_signatures: bir işlemin sahip olabileceği maksimum imza sayısı
  • price_source: token fiyatını belirlemek için oracle ("Mock" veya "Jupiter")
  • allowed_programs: yürütülebilecek program kimliklerinin beyaz listesi (örn., System Program, Token Program)
  • allowed_tokens: transfer edilmesine izin verilen tokenların beyaz listesi
  • allowed_spl_paid_tokens: programınızın ödeme olarak kabul ettiği mint adreslerinin dizisi
  • disallowed_accounts: kora RPC'nizle etkileşime girmesine izin verilmeyen hesapların kara listesi

Şimdilik varsayılan değerleri bırakalım--daha sonra buraya geri dönüp bunları değiştirebilirsiniz (yapılandırma seçenekleri hakkında daha fazla bilgi için Kora Yapılandırması belgelerine bakın).

İmzalayanları Hazırlama

server/signers.toml dosyasını açın ve imzalayanlar bölümüne dikkat edin. Burada işlemleri imzalamak için hangi imzalayanların kullanılacağını ve (birden fazla imzalayan kullanıyorsanız) hangi imzalayanın kullanılacağını seçmek için bir strateji belirtebiliriz. Şimdilik varsayılan değerleri kullanarak tek imzalayan kullanalım--daha sonra buraya geri dönüp bunları değiştirebilirsiniz (imzalayan yapılandırması hakkında daha fazla bilgi için İmzalayanlar Rehberi belgelerine bakın).

Test Sunucusu

Üç terminal açın ve aşağıdaki komutları çalıştırın:

Terminal 1: Yerel Test Validator'ı Başlatma

# From project root or anywhere
solana-test-validator -r

Terminal 2: Ortamı Başlatma

# From ./client directory
pnpm init-env

Bu betik şunları yapacaktır:

  • Anahtar çiftleri oluşturur ve .env içine kaydeder
  • Test hesaplarına SOL gönderir
  • Yerel bir USDC token'ı oluşturur ve başlatır
  • Test hesaplarını token'larla fonlar

Önemli: .env dosyanızdan yeni USDC test token'ının genel anahtarını kopyaladığınızdan ve ./server/kora.toml içindeki allowed_tokens ve allowed_spl_paid_tokens değerlerini güncellediğinizden emin olun.

allowed_tokens = [
"YOUR_USDC_LOCAL_PUBLICK_KEY" # Update this based on the USDC_LOCAL_KEY public key comment in your .env
]
allowed_spl_paid_tokens = [
"YOUR_USDC_LOCAL_PUBLICK_KEY" # Update this based on the USDC_LOCAL_KEY public key comment in your .env
]

Terminal 3: Ödeme ATA'larını Başlatma (İsteğe Bağlı)

Ödeme alabilmek için ödeme token'larınız için İlişkili Token Hesapları (ATA'lar) başlatmanız gerekecektir. Bunu aşağıdaki komutu çalıştırarak yapabilirsiniz:

# From ./server directory
kora rpc initialize-atas --signers-config signers.toml

Bu komut şunları yapacaktır:

  • Ödeme adresinizi kora.toml dosyasından okur (veya bir ödeme adresi belirtmediyseniz, signers.toml içinde listelenen tüm imzalayıcıları kullanır)
  • allowed_spl_paid_tokens içinde listelenen tüm token'lar için ATA'lar oluşturur
  • Zaten mevcut olan ATA'ları atlar
  • İsteğe bağlı olarak fee_payer_key bayrağını kullanarak ATA oluşturma için özel bir ücret ödeyicisi belirleyebilirsiniz.

Terminal 4: Kora RPC Sunucusunu Başlatma

# From ./server directory
kora rpc start --signers-config signers.toml

Not: price_source = "Jupiter" kullanan üretim dağıtımları için JUPITER_API_KEY ortam değişkenini ayarlamanız gerekir. Sunucu bu ayar olmadan başlatılamaz:

JUPITER_API_KEY=your_api_key kora rpc start --signers-config signers.toml

Sunucu, yapılandırmayı kora.toml ve signers.toml dosyalarından okur ve paylaşılan .env dosyasından ortam değişkenlerini kullanır. Burada belirtilenden farklı bir klasör yapısı kullanıyorsanız, kora.toml konumunu belirtmek için --config ve imzalayıcı yapılandırma dizininizi belirtmek için --signers-config kullanmanız gerekebilir:

kora rpc --config path/to/kora.toml start --signers-config path/to/signers.toml

RPC sunucu seçenekleri hakkında yardım için kora rpc -h adresine erişebilirsiniz.

Terminal 5: İstemci Demosunu Çalıştırın

# From ./client directory
pnpm start

Şuna benzer bir çıktı görmelisiniz:

Kora Config: {
fee_payer: 'Df2UmGQH86TBDsub7XZoSAo7KZa1ZJZr2w1PL1APUjjU',
validation_config: {
max_allowed_lamports: 1000000,
max_signatures: 10,
allowed_programs: [
'11111111111111111111111111111111',
'TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA',
'ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL',
'AddressLookupTab1e1111111111111111111111111',
'ComputeBudget11111111111111111111111111111111'
],
allowed_tokens: [
'usdCAEFbouFGxdkbHCRtMTcN7DJHd3aCmP9vqjLgmAp'
],
allowed_spl_paid_tokens: [
'usdCAEFbouFGxdkbHCRtMTcN7DJHd3aCmP9vqjLgmAp'
],
disallowed_accounts: [],
price_source: 'Mock',
fee_payer_policy: {...},
price: { type: 'margin', margin: 0 }
},
enabled_methods: { ... }
}
}
Blockhash: C8W8d5w2H4jKXyFg5CEBoiaPvEpJ1am7xLxZ3fym4a2g

Bu, Kora sunucunuzun çalıştığını ve düzgün şekilde yapılandırıldığını doğrular!

Sonraki Adımlar

Temel kurulumu çalıştırdıktan sonra, tam Kora akış demosuna göz atın:

→ Kora Tam Gassız İşlem Akışı

ek Kora RPC metodlarını keşfedin:

  • estimateTransactionFee - İşlemler için ücretleri hesaplayın
  • getPayerSigner - Ödeme yapan imzalayıcıyı ve ödeme hedefini alın
  • getSupportedTokens - Desteklenen ödeme tokenlarının bir dizisini döndürür
  • signTransaction - Ücretler karşılandığında işlemleri koşullu olarak imzalayın
  • transferTransaction - SOL transferi veya SPL token transfer işlemleri oluşturun (Kora ücret ödeyicisi tarafından imzalanır)
  • signAndSendTransaction - Bir işlemi Kora ücret ödeyicisiyle koşullu olarak imzalar ve yapılandırılmış Solana RPC'ye gönderir
  • getPaymentInstruction - Bir işlem için ödeme talimatı alın

Sorularınız mı var? Solana Stack Exchange üzerinde Kora etiketi ile soru sorun.

Is this page helpful?

Yönetici

© 2026 Solana Vakfı.
Tüm hakları saklıdır.
Bağlanın