Experiencia de Usuario de Transacciones
Notificaciones, confirmaciones, reintentos y decodificación de errores para envíos dirigidos al usuario.
Busca en todas las páginas de la documentación
Notificaciones, confirmaciones, reintentos y decodificación de errores para envíos dirigidos al usuario.
type TxState = "idle" | "building" | "signing" | "sending" | "confirmed" | "failed";Cuándo usar esto:
"use client";
import { useState } from "react";
export function useTxToast() {
const [state, setState] = useState<TxState>("idle");
const [signature, setSignature] = useState<string | null>(null);
const [error, setError] = useState<string | null>(null);
async function run(sendFn: () => Promise<string>) {
try {
setError(null);
setState("signing");
const sig = await sendFn();
setSignature(sig);
setState("confirmed");
return sig;
} catch (e) {
setError(e instanceof Error ? e.message : "Transaction failed");
setState("failed");
throw e;
}
}
return { state, signature, error, run };
}Lo que esto demuestra:
blockhash nuevo en caso de errores de expiración.| Alternativa | Usar Cuando | No Usar Cuando |
|---|---|---|
| Email al confirmar | Operaciones de alto valor | Transacciones de juegos para consumidores |
| Envío silencioso en segundo plano | Analítica | Transferencias iniciadas por el usuario |
Proveedores en layout.tsx del cliente; las páginas mezclan componentes de servidor y cliente.
Solo variables de entorno del servidor para keypairs; NEXT_PUBLIC_ para URLs RPC.
Todos los ejemplos usan @solana/kit, no web3.js v1.
Firma solo en componentes del cliente.
Revalidar lecturas on-chain cuidadosamente: la cadena es la fuente de verdad.
Endpoints HTTPS que devuelven JSON de Acciones de Solana.
Aplicación React Native separada con MWA.
Surfpool para integración; mock RPC en pruebas unitarias.
Archivos de entorno y program IDs separados.
Decodificar logs de simulación para mensajes dirigidos al usuario.
Versiones de Stack: Esta página fue 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, y LiteSVM 0.6.x.
Revisado por Chris St. John·Última actualización: 16 jul 2026