Integração do Cliente Kit

Última Atualização: 09/03/2026

O Que Você Vai Construir

O cliente Kit (createKitKoraClient) é a forma recomendada de integrar o Kora em aplicações Solana. Ele encapsula a abstração de taxas do Kora na arquitetura de plugins do Kit, fornecendo um cliente que automaticamente gerencia:

  • Gerenciamento de blockhash
  • Estimativa de taxas e injeção de instrução de pagamento
  • Assinatura de transações via Kora
  • Submissão e confirmação de transações
  • Otimização de orçamento de computação (estimativa de CU baseada em simulação)

Isso significa que você pode usar plugins de programa do Kit como tokenProgram() e deixar o Kora cuidar de toda a complexidade das taxas de gás nos bastidores.

Pré-requisitos

Instalação

pnpm add @solana/kora @solana/kit

As dependências peer (@solana-program/token, @solana-program/compute-budget, @solana/kit-plugin-*) são instaladas automaticamente pela maioria dos gerenciadores de pacotes. Consulte Instalação se precisar instalá-las manualmente.

Criando o Cliente

createKitKoraClient compõe múltiplos plugins do Kit em um único cliente que satisfaz ClientWithPayer, ClientWithTransactionPlanning e ClientWithTransactionSending.

import { createKitKoraClient } from "@solana/kora";
import { address } from "@solana/kit";
const client = await createKitKoraClient({
endpoint: "http://localhost:8080", // Kora RPC endpoint
rpcUrl: "http://127.0.0.1:8899", // Solana RPC for CU estimation
feeToken: address("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"), // USDC mint
feePayerWallet: userSigner // TransactionSigner for fee payment
});

O feePayerWallet deve ser um TransactionSigner — esta é a carteira que autoriza o pagamento da taxa em token SPL ao operador Kora. O operador Kora cuida das taxas de rede em SOL.

Opções de Configuração

OpçãoObrigatórioDescrição
endpointSimURL do endpoint RPC do Kora
rpcUrlSimURL RPC do Solana (não o endpoint do Kora) — usado para simulação de unidades de computação e compatibilidade com plugins de programa
feeTokenSimEndereço do mint SPL para pagamento de taxas (ex: USDC)
feePayerWalletSimTransactionSigner que autoriza o pagamento da taxa em SPL
apiKeyNãoChave de API para autenticação no Kora
hmacSecretNãoSegredo HMAC para autenticação baseada em assinatura
computeUnitLimitNãoLimite fixo de CU. Se omitido, o Kora simula a transação para estimar o CU ideal (recomendado)
computeUnitPriceNãoTaxa de prioridade em micro-lamports
tokenProgramIdNãoPadrão é Token Program. Defina como TOKEN_2022_PROGRAM_ADDRESS para tokens de taxa Token-2022

Usando com Plugins de Programa Kit

O cliente Kit é componível com plugins de programa Kit. Por exemplo, com tokenProgram():

import { createKitKoraClient } from "@solana/kora";
import { tokenProgram } from "@solana-program/token";
import { address } from "@solana/kit";
const koraClient = await createKitKoraClient({
endpoint: "http://localhost:8080",
rpcUrl: "http://127.0.0.1:8899",
feeToken: address("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"),
feePayerWallet: userSigner
});
// Compose with the token program plugin
const client = koraClient.use(tokenProgram());
// Use token program methods — Kora handles all fee abstraction
await client.token.instructions
.transferToATA({
source: userTokenAccount,
destination: recipientAddress,
amount: 1_000_000n, // 1 USDC
authority: userSigner
})
.sendTransaction();

Nos bastidores, o cliente Kit:

  1. Planeja a transação com um blockhash gerenciado pelo Kora e instruções de orçamento de computação
  2. Estima a taxa e injeta (ou atualiza) a instrução de pagamento SPL para o operador Kora
  3. Assina parcialmente a transação com a carteira do usuário
  4. Envia a transação para o Kora para coassinatura e submissão à Solana

Acessando Métodos RPC do Kora

O cliente Kit também expõe a API completa do Kora através do namespace .kora (do koraPlugin):

// Get server configuration
const config = await client.kora.getConfig();
// Get supported fee tokens
const { tokens } = await client.kora.getSupportedTokens();
// Estimate fees for an arbitrary transaction
const estimate = await client.kora.estimateTransactionFee({
transaction: base64EncodedTx,
fee_token: "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"
});

Todas as respostas dos métodos .kora usam valores tipados do Kit (Address, Blockhash, Signature) em vez de strings brutas.

Suporte a Token-2022

Para pagar taxas com um token Token-2022, passe a opção tokenProgramId:

import { TOKEN_2022_PROGRAM_ADDRESS } from "@solana-program/token-2022";
const client = await createKitKoraClient({
endpoint: "http://localhost:8080",
rpcUrl: "http://127.0.0.1:8899",
feeToken: address("your-token-2022-mint"),
feePayerWallet: userSigner,
tokenProgramId: TOKEN_2022_PROGRAM_ADDRESS
});

Orçamento de Computação

Por padrão, o cliente Kit simula a transação contra o RPC da Solana para determinar o limite ideal de unidades de computação. Isso resulta em alocação mais precisa de CU e taxas mais baixas.

Para substituir por um valor fixo:

const client = await createKitKoraClient({
// ...
computeUnitLimit: 200_000,
computeUnitPrice: 1_000_000n // priority fee in micro-lamports
});

Quando Usar Cada Cliente

ClienteCaso de Uso
createKitKoraClientRecomendado. Integração completa com Kit e gerenciamento automático de taxas. Melhor para aplicações usando plugins de programa Kit.
KoraClientAcesso RPC direto quando você precisa de controle total sobre construção, assinatura e submissão de transações.
koraPluginAdicionar métodos Kora a um cliente Kit existente que você já compôs com outros plugins.

Próximos Passos

Is this page helpful?

Índice

Editar Página

Gerenciado por

© 2026 Fundação Solana.
Todos os direitos reservados.
Conecte-se
  • Blog