Skip to Content
dApps

eth_sendTransaction

Crea una transacción nueva y solicita al usuario que la confirme. Devuelve el hash de la transacción si la operación tiene éxito.


Parámetros

Array que contiene un único objeto de transacción:

CampoTipoObligatorioDescripción
fromstringSíDirección del remitente
tostringNoDirección del destinatario (omítela para crear un contrato)
valuestringNoValor que se enviará en wei (hexadecimal)
datastringNoDatos de la llamada al contrato o bytecode
gasstringNoLímite de gas (hexadecimal)
gasPricestringNoPrecio del gas en wei (hexadecimal), para transacciones heredadas
maxFeePerGasstringNoComisión máxima por unidad de gas (hexadecimal), para EIP-1559
maxPriorityFeePerGasstringNoComisión de prioridad máxima (hexadecimal), para EIP-1559
noncestringNoNonce de la transacción (hexadecimal)

Devuelve

string - El hash de la transacción (cadena hexadecimal de 32 bytes)


Ejemplos

Enviar ETH

const txHash = await window.$onekey.ethereum.request({ method: 'eth_sendTransaction', params: [{ from: '0xYourAddress...', to: '0xRecipientAddress...', value: '0xDE0B6B3A7640000', // 1 ETH in wei }] }) console.log('Transaction hash:', txHash)

Llamar a una función de contrato

const txHash = await window.$onekey.ethereum.request({ method: 'eth_sendTransaction', params: [{ from: '0xYourAddress...', to: '0xContractAddress...', data: '0xa9059cbb...', // Encoded function call }] })

Transacción EIP-1559

const txHash = await window.$onekey.ethereum.request({ method: 'eth_sendTransaction', params: [{ from: '0xYourAddress...', to: '0xRecipientAddress...', value: '0xDE0B6B3A7640000', maxFeePerGas: '0x2540BE400', // 10 Gwei maxPriorityFeePerGas: '0x3B9ACA00', // 1 Gwei }] })

Errores

CódigoMensajeDescripción
4001El usuario rechazó la solicitudEl usuario denegó la transacción
-32000Fondos insuficientesSaldo insuficiente
-32602Parámetros no válidosParámetros de transacción no válidos

Notas

  • Usa siempre cadenas hexadecimales con 0x como prefijo para los valores numéricos
  • Si gas no se proporciona, la cartera lo estima
  • Para cadenas EIP-1559, usa preferentemente maxFeePerGas en lugar de gasPrice
  • El campo from debe ser una cuenta que el usuario haya conectado

No fijes el límite de gas de una llamada a contrato en los 21,000 de gas de referencia para una transferencia nativa. Deja que la cartera lo estime o usa eth_estimateGas. Las direcciones y los datos de llamada de ejemplo son marcadores de posición. Recibir un hash no confirma la ejecución; comprueba el recibo en la misma red.

Última actualización el