Assinando Transações e Mensagens
Assine mensagens de transação e payloads de auth off-chain com wallets conectadas.
Busque em todas as páginas da documentação
Assine mensagens de transação e payloads de auth off-chain com wallets conectadas.
import { signTransactionMessageWithSigners } from "@solana/kit";
// wallet adapter provides TransactionSendingSigner compatible adapterQuando usar:
"use client";
import { useWallet } from "@solana/wallet-adapter-react";
import {
createTransactionMessage,
setTransactionMessageFeePayerSigner,
setTransactionMessageLifetimeUsingBlockhash,
appendTransactionMessageInstruction,
signTransactionMessageWithSigners,
createSolanaRpc,
} from "@solana/kit";
import { getTransferSolInstruction } from "@solana-program/system";
export function useSendSol() {
const { publicKey, signTransaction } = useWallet();
const rpc = createSolanaRpc(process.env.NEXT_PUBLIC_RPC_URL!);
return async function send(recipient: string, lamports: bigint) {
if (!publicKey || !signTransaction) throw new Error("Wallet not connected");
const { value: bh } = await rpc.getLatestBlockhash().send();
// Wire wallet signer helper from your adapter bridge
let msg = createTransactionMessage({ version: 0 });
// ... append transfer ix, sign with wallet, send via rpc
};
}O que isso demonstra:
signMessage retorna assinatura ed25519 sobre bytes arbitrários.| Alternativa | Use Quando | Não Use Quando |
|---|---|---|
| Tx patrocinada server | Onboarding gasless | Self-custody trustless |
| Mobile Wallet Adapter | React Native | Apenas extensão desktop |
Corresponda RPC URL, rede da wallet e program IDs a um cluster.
Use @solana/kit 7.0.0 para código frontend novo.
Surfpool 0.12.0 ou devnet com SOL de faucet.
confirmed para UX; finalized para reads de alto valor.
Providers em layout client; reads podem ser server-side.
Mostre retry; nunca assuma aprovação.
Instructions compute budget em mainnet congestionada.
Use Mobile Wallet Adapter para apps React Native.
Nunca exponha keypairs de servidor ao browser.
Regenere clients tipados em CI.
Versões do 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