Transacciones e Instrucciones
Las instrucciones se componen en transacciones enviadas al clúster. Los resultados aparecen en la misma sección: comentarios // en la misma línea cuando son cortos, bloques // multilínea debajo de la muestra cuando no lo son. Las muestras en cadena son Rust; las muestras del cliente usan TypeScript cuando se indica.
Crea una instrucción con programa, cuentas y datos.
// Instruction { program_id, accounts, data }
Firma con el pagador de tarifas y los firmantes requeridos.
// let mut tx = Transaction::new_with_payer(&[ix], Some(&payer.pubkey()));
// tx.sign(&[&payer], blockhash)
Las transacciones hacen referencia a un blockhash reciente para la expiración.
// let blockhash = rpc.get_latest_blockhash()?
Establece el límite/precio de CU a través del programa de presupuesto de cómputo.
// ComputeBudgetInstruction::set_compute_unit_limit(200_000)
// ComputeBudgetInstruction::set_compute_unit_price(1_000)
Los mensajes v0 admiten ALTs.
// VersionedTransaction::try_new(message, &signers)
Serializa la carga útil de la instrucción.
// data: borsh::to_vec(&MyIx::Transfer { amount })?
Atómicas: todas tienen éxito o todas fallan.
// Transaction::new_with_payer(&[ix1, ix2], Some(&payer))
Firmas parciales multisig / billetera.
// tx.try_partial_sign(&[&kp], blockhash)
Las firmas cubren los bytes del mensaje.
Las cuentas Nonce para transacciones sin conexión/de larga duración.
// advance nonce + use durable nonce blockhash
El precio de CU aumenta la prioridad de inclusión.
// set_compute_unit_price(micro_lamports)
Las tablas de búsqueda de direcciones comprimen las listas de cuentas.
// v0::Message::try_compile(..., &[alt], blockhash)
SimulateTransaction antes de enviar para obtener registros/CU.
// rpc.simulate_transaction(&tx)
Opcional omitir - preferir preflight en desarrollo.
// send_and_confirm con preflight habilitado por defecto
La latencia/finalidad de la operación confirmada vs. finalizada.
// CommitmentConfig::confirmed()
Versiones de Stack: Esta página se escribió para Agave 4.1.1 , Solana CLI 3.0.10 , Anchor 0.32.1 , Rust 1.91.1 y @solana/kit 7.0.0 .
Y29kZWd1aWRlcy5pb3xjZ2lvMzI5fDIwMjYwNw==