Encodeur / Décodeur ABI

Encodez et décodez les données d'appel de fonctions des smart contracts Ethereum. Convertissez les signatures ABI en calldata et décodez les données d'entrée.

Format: nomFonction(type1,type2,...)

Qu'est-ce que l'Encodeur / Décodeur ABI ?

L'Encodeur/Décodeur ABI (Application Binary Interface) est un outil gratuit pour encoder et décoder les données d'appel de fonctions des smart contracts Ethereum. Il convertit les signatures de fonctions et paramètres lisibles par l'homme en calldata hexadécimale qui peut être envoyée aux smart contracts, et inversement.

Cet outil est essentiel pour les développeurs blockchain travaillant avec des smart contracts, déboguant des transactions ou construisant des dApps sur Ethereum et les chaînes compatibles EVM.

Qu'est-ce que l'ABI dans Ethereum ?

L'ABI (Application Binary Interface) est une spécification qui définit comment interagir avec les smart contracts Ethereum. Elle décrit les fonctions disponibles dans un contrat, leurs paramètres et types de retour. L'encodeur ABI convertit les appels de fonctions en bytecode que l'EVM peut exécuter.

Qu'est-ce que le calldata ?

Le calldata est la donnée encodée envoyée avec une transaction vers un smart contract. Il se compose d'un sélecteur de fonction de 4 octets (les 8 premiers caractères hexadécimaux après 0x) suivi des paramètres encodés en ABI. Par exemple, appeler transfer(address,uint256) génère un calldata comme 0xa9059cbb000000...

Comment encoder un appel de fonction ?

Entrez la signature de la fonction (ex: transfer(address,uint256)) et les paramètres sous forme de tableau JSON. L'outil générera le calldata complet incluant le sélecteur de fonction et les paramètres encodés. Ce calldata peut être utilisé dans les transactions web3 ou pour le débogage.

Comment décoder les données d'entrée d'une transaction ?

Collez les données d'entrée de la transaction (calldata) de n'importe quelle transaction EVM. Si vous connaissez la signature de la fonction, fournissez-la pour un décodage détaillé des paramètres. Sinon, l'outil affichera le sélecteur de fonction et les données brutes. C'est utile pour analyser les transactions sur les explorateurs de blocs.

Quelles blockchains sont prises en charge ?

Cet outil fonctionne avec toutes les blockchains compatibles EVM, notamment Ethereum, BSC, Polygon, Arbitrum, Optimism, Avalanche et toute autre chaîne utilisant la Machine Virtuelle Ethereum et respectant les standards d'encodage ABI.

Cas d'utilisation courants

  • Encoder les transferts de tokens ERC20 pour les interactions contractuelles
  • Décoder les données d'entrée de transaction depuis Etherscan ou les explorateurs de blocs
  • Tester les appels de fonctions de smart contracts avant le déploiement
  • Déboguer les transactions échouées en analysant le calldata
  • Construire des transactions personnalisées pour les portefeuilles multisig
  • Analyser les interactions de protocoles DeFi (swaps Uniswap, etc.)