Las transacciones de Solana agrupan una o más instrucciones con un recent blockhash y un conjunto de firmantes. En Python, compones instrucciones con solders, adjuntas firmantes, simulas contra el RPC de Agave 4.1.1 y luego envías con solana-py.
# Firma parcial para multisig o firmantes remotostx = VersionedTransaction(msg, []) # sin firmartx.sign([local_signer], blockhash)# enviar bytes al cosigner, luego fusionar firmas según tu modelo de custodia# Leer estado de confirmaciónstatus = client.get_signature_statuses([sig])
Firmante faltante - la simulación devuelve MissingRequiredSignature. Solución: auditar las banderas AccountMeta.is_signer.
Blockhash expirado - BlockhashNotFound. Solución: reconstruir el mensaje con un nuevo blockhash.
Fondos insuficientes para alquiler - la creación de cuentas requiere lamports más allá del monto de la transferencia. Solución: simular y financiar al pagador.
Orden de instrucciones - el presupuesto de cómputo debe ser el primero. Solución: anteponer las instrucciones de presupuesto.
Asumir finalidad síncrona - send_transaction devuelve una firma, no una confirmación. Solución: consultar confirm_transaction.
Versiones de la Pila: 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