Οδηγός Γρήγορης Εκκίνησης Kora

Τελευταία Ενημέρωση: 2025-10-31

Βασικά Στοιχεία Kora

Το Kora είναι ένας διακομιστής JSON-RPC που παρέχει υπηρεσίες πληρωμής χρεώσεων για συναλλαγές Solana. Επιτρέπει στους χρήστες να πληρώνουν τις χρεώσεις συναλλαγών με SPL tokens αντί για SOL, επιτρέποντας καλύτερη εμπειρία χρήστη για εφαρμογές όπου οι χρήστες ενδέχεται να μην διαθέτουν SOL.

Το Kora RPC επικυρώνει τα αιτήματα των πελατών με βάση μια διαμόρφωση (kora.toml) που ορίζει τα επιτρεπτά προγράμματα, πορτοφόλια, tokens κ.λπ. Μόλις επικυρωθεί, ο διακομιστής Kora θα υπογράψει τη συναλλαγή και θα την αποστείλει στο δίκτυο (ή θα επιστρέψει μια σειριοποιημένη υπογεγραμμένη συναλλαγή στον πελάτη).

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

Αυτή η γρήγορη εκκίνηση θα ξεκινήσει έναν τοπικό διακομιστή Kora RPC και θα επιδείξει την ενσωμάτωση πελάτη για δοκιμή ροών εργασίας πληρωμής χρεώσεων.

Απαιτήσεις

  • Solana CLI έκδοση 2.2.x ή νεότερη
  • Rust/Cargo (για εγκατάσταση Kora RPC)
  • Node.js v22+ και έναν διαχειριστή πακέτων (π.χ., pnpm, npm)

Εγκατάσταση Kora RPC

Εγκαταστήστε τον διακομιστή Kora RPC καθολικά:

cargo install kora-cli

Σημαντικό: Το κλαδί main του Kora είναι ένα κλαδί ενσωμάτωσης και ενδέχεται να περιέχει μη κυκλοφορημένες ή beta αλλαγές. Χρησιμοποιείτε πάντα την πιο πρόσφατη σταθερή έκδοση ετικέτας για παραγωγή και χρήση σε εκπαιδευτικά προγράμματα. Μπορείτε να βρείτε την πιο πρόσφατη σταθερή έκδοση στη σελίδα εκδόσεων του Kora.

Δημιουργία Έργου

Κλωνοποιήστε το αποθετήριο, μεταβείτε στην πιο πρόσφατη σταθερή ετικέτα και πλοηγηθείτε στον κατάλογο επίδειξης για αρχάριους:

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

Δομή Έργου

Η επίδειξη περιέχει τρία κύρια συστατικά:

Κατάλογος Πελάτη (client/src/)

  • setup.ts - Ρύθμιση τοπικού περιβάλλοντος (δημιουργεί keypairs και τα γράφει στο .env, κάνει airdrop SOL, αρχικοποιεί δοκιμαστικό token)
  • quick-start.ts - Σενάριο επίδειξης γρήγορης εκκίνησης που δείχνει τη σύνδεση με το Kora και την πραγματοποίηση απλής κλήσης στον διακομιστή Kora RPC
  • full-demo.ts - Πλήρες σενάριο επίδειξης που παρουσιάζει πολλαπλές μεθόδους Kora RPC

Κατάλογος Διακομιστή (server/)

  • kora.toml - Διαμόρφωση Kora RPC που ορίζει κανόνες επικύρωσης, επιτρεπόμενα tokens και παραμέτρους προμηθειών
  • signers.toml - Διαμόρφωση υπογραφόντων που ορίζει τους υπογράφοντες για τον διακομιστή Kora

Κοινή Διαμόρφωση

  • .env - Μεταβλητές περιβάλλοντος για keypairs και διευθύνσεις (δημιουργήστε το .env στη ρίζα - demo/.env). Οι μεταβλητές περιβάλλοντος θα δημιουργηθούν από το σενάριο εγκατάστασης.

Ρύθμιση Περιβάλλοντος

Αρχικά, δημιουργήστε το .env για το περιβάλλον σας:

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

Ρύθμιση Πελάτη

Εγκαταστήστε τις εξαρτήσεις του πελάτη:

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

Ρύθμιση Διακομιστή Kora RPC

Ο διακομιστής Kora απαιτεί διαμόρφωση για να καθοριστεί ποια tokens μπορούν να χρησιμοποιηθούν για πληρωμή προμηθειών. Ανοίξτε το server/kora.toml και σημειώστε την ενότητα επικύρωσης. Εδώ μπορούμε να καθορίσουμε διάφορες παραμέτρους που θα επικυρωθούν πριν από την υπογραφή μιας συναλλαγής:

  • max_allowed_lamports: μέγιστη προμήθεια συναλλαγής που είστε διατεθειμένοι να πληρώσετε εκ μέρους του χρήστη
  • max_signatures: μέγιστος αριθμός υπογραφών που μπορεί να έχει μια συναλλαγή
  • price_source: oracle για τον προσδιορισμό της τιμής token ("Mock" ή "Jupiter")
  • allowed_programs: λίστα επιτρεπόμενων IDs προγραμμάτων που μπορούν να εκτελεστούν (π.χ., System Program, Token Program)
  • allowed_tokens: λίστα επιτρεπόμενων tokens που επιτρέπεται να μεταφερθούν
  • allowed_spl_paid_tokens: πίνακας διευθύνσεων mint που δέχεται το πρόγραμμά σας ως πληρωμή
  • disallowed_accounts: μαύρη λίστα λογαριασμών που δεν επιτρέπεται να αλληλεπιδράσουν με το kora RPC σας

Προς το παρόν, ας αφήσουμε τις προεπιλεγμένες τιμές--μπορείτε να επιστρέψετε εδώ και να τις αλλάξετε αργότερα (για περισσότερες πληροφορίες σχετικά με τις επιλογές διαμόρφωσης, δείτε την τεκμηρίωση Διαμόρφωση Kora).

Ρύθμιση Υπογραφόντων

Ανοίξτε το server/signers.toml και σημειώστε την ενότητα υπογραφόντων. Εδώ μπορούμε να καθορίσουμε ποιοι υπογράφοντες θα χρησιμοποιηθούν για την υπογραφή συναλλαγών και (εάν χρησιμοποιούνται πολλαπλοί υπογράφοντες) μια στρατηγική για την επιλογή του υπογράφοντα που θα χρησιμοποιηθεί. Προς το παρόν, ας χρησιμοποιήσουμε έναν μόνο υπογράφοντα χρησιμοποιώντας τις προεπιλεγμένες τιμές--μπορείτε να επιστρέψετε εδώ και να τις αλλάξετε αργότερα (για περισσότερες πληροφορίες σχετικά με τη διαμόρφωση υπογραφόντων, δείτε τον Οδηγό Υπογραφόντων).

Διακομιστής Δοκιμών

Ανοίξτε τρία τερματικά και εκτελέστε τις ακόλουθες εντολές:

Τερματικό 1: Εκκίνηση Τοπικού Validator Δοκιμών

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

Τερματικό 2: Αρχικοποίηση Περιβάλλοντος

# From ./client directory
pnpm init-env

Αυτό το script θα:

  • Δημιουργήσει keypairs και θα τα αποθηκεύσει στο .env
  • Θα κάνει airdrop SOL σε λογαριασμούς δοκιμών
  • Θα δημιουργήσει και θα αρχικοποιήσει ένα τοπικό token USDC
  • Θα χρηματοδοτήσει τους λογαριασμούς δοκιμών με tokens

Σημαντικό Βεβαιωθείτε ότι αντιγράφετε το δημόσιο κλειδί του νέου token δοκιμών USDC από το .env σας και ενημερώνετε τα allowed_tokens και allowed_spl_paid_tokens στο ./server/kora.toml.

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
]

Τερματικό 3: Αρχικοποίηση Associated Token Accounts (ATAs) Πληρωμών (Προαιρετικό)

Για να λαμβάνετε πληρωμές, θα χρειαστεί να αρχικοποιήσετε Associated Token Accounts (ATAs) για τα tokens πληρωμών σας. Μπορείτε να το κάνετε αυτό εκτελώντας την ακόλουθη εντολή:

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

Αυτή η εντολή θα:

  • Διαβάσει τη διεύθυνση πληρωμής σας από το kora.toml (ή αν δεν έχετε ορίσει διεύθυνση πληρωμής, όλους τους υπογράφοντες που αναφέρονται στο signers.toml)
  • Δημιουργήσει ATAs για όλα τα tokens που αναφέρονται στο allowed_spl_paid_tokens
  • Παραλείψει οποιαδήποτε ATAs που υπάρχουν ήδη
  • Μπορείτε προαιρετικά να ορίσετε έναν προσαρμοσμένο πληρωτή τελών για τη δημιουργία ATA χρησιμοποιώντας τη σημαία fee_payer_key.

Τερματικό 4: Εκκίνηση Διακομιστή Kora RPC

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

Σημείωση: Για αναπτύξεις παραγωγής που χρησιμοποιούν price_source = "Jupiter", πρέπει να ορίσετε τη μεταβλητή περιβάλλοντος JUPITER_API_KEY. Ο διακομιστής δεν θα εκκινήσει χωρίς αυτήν:

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

Ο διακομιστής διαβάζει τη διαμόρφωση από τα kora.toml και signers.toml και χρησιμοποιεί μεταβλητές περιβάλλοντος από το κοινό αρχείο .env. Αν χρησιμοποιείτε διαφορετική δομή φακέλων από αυτήν που καθορίζεται εδώ, ενδέχεται να χρειαστεί να χρησιμοποιήσετε το --config για να ορίσετε τη θέση του kora.toml και το --signers-config για να ορίσετε τον κατάλογο της διαμόρφωσης των υπογραφόντων σας:

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

Μπορείτε να έχετε πρόσβαση στο kora rpc -h για βοήθεια σχετικά με τις επιλογές του διακομιστή RPC.

Τερματικό 5: Εκτέλεση Επίδειξης Πελάτη

# From ./client directory
pnpm start

Θα πρέπει να δείτε αποτέλεσμα παρόμοιο με:

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

Αυτό επιβεβαιώνει ότι ο διακομιστής Kora λειτουργεί και είναι σωστά διαμορφωμένος!

Επόμενα Βήματα

Αφού λειτουργήσει η βασική ρύθμιση, δείτε την πλήρη επίδειξη ροής του Kora:

→ Πλήρης Ροή Συναλλαγών Χωρίς Κόστος Kora

εξερευνήστε πρόσθετες μεθόδους RPC του Kora:

  • estimateTransactionFee - Υπολογισμός κόστους για συναλλαγές
  • getPayerSigner - Λήψη του υπογράφοντα πληρωτή και του προορισμού πληρωμής
  • getSupportedTokens - Επιστρέφει έναν πίνακα με τα υποστηριζόμενα tokens πληρωμής
  • signTransaction - Υπογράφει υπό συνθήκες συναλλαγές όταν καλύπτονται τα κόστη
  • transferTransaction - Δημιουργία συναλλαγών μεταφοράς SOL ή SPL token (υπογεγραμμένες από τον πληρωτή κόστους Kora)
  • signAndSendTransaction - Υπογράφει υπό συνθήκες μια συναλλαγή με τον πληρωτή κόστους Kora και την στέλνει στο διαμορφωμένο Solana RPC
  • getPaymentInstruction - Λήψη μιας οδηγίας πληρωμής για μια συναλλαγή

Έχετε ερωτήσεις; Κάντε ερωτήσεις στο Solana Stack Exchange με ετικέτα Kora.

Is this page helpful?

Διαχειρίζεται από

© 2026 Ίδρυμα Solana.
Με επιφύλαξη παντός δικαιώματος.
Συνδεθείτε