Assinatura e envio
Assine mensagens de transação e confirme landing no Agave 4.1.1.
Busque em todas as páginas da documentação
Assine mensagens de transação e confirme landing no Agave 4.1.1.
Cartão de receita de referência rápida - pronto para copiar e colar.
import {
signTransactionMessageWithSigners,
getSignatureFromTransaction,
sendAndConfirmTransactionFactory,
createSolanaRpc,
createSolanaRpcSubscriptions,
} from "@solana/kit";
const signed = await signTransactionMessageWithSigners(message);
const sendAndConfirm = sendAndConfirmTransactionFactory({ rpc, rpcSubscriptions });
await sendAndConfirm(signed, { commitment: "confirmed" });Quando usar:
import {
createSolanaRpc,
createSolanaRpcSubscriptions,
signTransactionMessageWithSigners,
getSignatureFromTransaction,
sendAndConfirmTransactionFactory,
getBase64EncodedWireTransaction,
} from "@solana/kit";
const rpc = createSolanaRpc(process.env.RPC_URL!);
const rpcSubscriptions = createSolanaRpcSubscriptions(process.env.RPC_WSS_URL!);
const signed = await signTransactionMessageWithSigners(message);
const signature = getSignatureFromTransaction(signed);
const simulation = await rpc
.simulateTransaction(getBase64EncodedWireTransaction(signed), { sigVerify: true })
.send();
if (simulation.value.err) throw new Error(JSON.stringify(simulation.value.err));
const sendAndConfirm = sendAndConfirmTransactionFactory({ rpc, rpcSubscriptions });
await sendAndConfirm(signed, { commitment: "confirmed" });
console.log("https://explorer.solana.com/tx/" + signature + "?cluster=devnet");O que isso demonstra:
sendAndConfirmTransactionFactory combina envio HTTP com subscription de assinatura.sendTransaction transmite para o cluster.| Estratégia | Trade-off |
|---|---|
sendAndConfirm | Simples; precisa WSS |
Poll getSignatureStatuses | Funciona só HTTP |
signatureNotifications | Estado de UI granular |
rpcSubscriptions.confirmed+.| Alternativa | Use quando | Não use quando |
|---|---|---|
| Bundles Jito | Prioridade de landing | Smoke tests devnet |
Apenas sendTransaction | Analytics fire-and-forget | Transferências voltadas ao usuário |
| Envio patrocinado servidor | UX sem gas | Apenas autocustódia trustless |
Sim - aponte RPC e carteira para o mesmo cluster.
Evite em um módulo - migre por rota inteira.
Carteiras fornecem signers; kit constrói mensagens.
Trave 7.0.0 no package.json e CI.
Instruções compute budget antes do envio.
Surfpool 0.12.0 ou validador local com clones devnet.
Sempre lamports bigint no código kit.
confirmed para UI; finalized para tesouraria.
Leituras no servidor; assinatura em client components.
Simule, leia logs, verifique owners de conta.
Versões da stack: Esta página foi escrita para Agave 4.1.1, Solana CLI 3.0.10, Anchor 0.32.1, anchor-lang 0.32.1, Rust 1.91.1, @solana/kit 7.0.0, Surfpool 0.12.0 e LiteSVM 0.6.x.
Revisado por Chris St. John·Última atualização: 16 de jul. de 2026