Skip to Content
dApps

eth_sendTransaction

Crée une nouvelle transaction et demande à l’utilisateur de la confirmer. Renvoie le hash de transaction en cas de réussite.


Paramètres

Array contenant un seul objet de transaction :

ChampTypeObligatoireDescription
fromstringOuiAdresse de l’expéditeur
tostringNonAdresse du destinataire (omettre pour la création d’un contrat)
valuestringNonValeur à envoyer en wei (hex)
datastringNonDonnées d’appel du contrat ou bytecode
gasstringNonLimite de gas (hex)
gasPricestringNonPrix du gas en wei (hex), pour les transactions historiques
maxFeePerGasstringNonFrais maximaux par unité de gas (hex), pour EIP-1559
maxPriorityFeePerGasstringNonFrais de priorité maximaux (hex), pour EIP-1559
noncestringNonNonce de transaction (hex)

Valeur de retour

string - Le hash de transaction (chaîne hexadécimale de 32 octets)


Exemples

Envoyer des 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)

Appeler une fonction de contrat

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

Transaction 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 }] })

Erreurs

CodeMessageDescription
4001L’utilisateur a rejeté la demandeL’utilisateur a refusé la transaction
-32000Fonds insuffisantsSolde insuffisant
-32602Paramètres non validesParamètres de transaction non valides

Remarques

  • Utilisez toujours des chaînes hexadécimales avec 0x comme préfixe pour les valeurs numériques
  • Si gas n’est pas fourni, le portefeuille l’estime
  • Pour les chaînes EIP-1559, privilégiez maxFeePerGas plutôt que gasPrice
  • Le champ from est une adresse qui doit correspondre à un compte connecté par l’utilisateur

Ne définissez pas la limite de gas d’un appel de contrat sur la valeur de base de 21,000 gas d’un transfert natif. Laissez le portefeuille l’estimer ou utilisez eth_estimateGas. Les adresses et données d’appel d’exemple sont fictives. Un hash renvoyé ne confirme pas l’exécution ; vérifiez le reçu sur le même réseau.

Dernière mise à jour le