Sélecteur de Fonction Solidity
Générez des sélecteurs de fonction Solidity depuis les signatures. Convertissez noms de fonction en sélecteurs 4 octets et signatures d'événements en Topic0. Recherchez sélecteurs communs.
À propos du Sélecteur de Fonction Solidity
L'outil Sélecteur de Fonction Solidity aide les développeurs à travailler avec les sélecteurs de fonction et les signatures d'événements de smart contracts Ethereum. Les sélecteurs de fonction sont les 4 premiers octets du hachage Keccak256 d'une signature de fonction et sont utilisés pour identifier quelle fonction appeler dans un smart contract. Les signatures d'événements (Topic0) sont le hachage Keccak256 complet de 32 octets de la signature d'événement. Cet outil génère des sélecteurs à partir de signatures et recherche des sélecteurs communs dans une base de données intégrée.
Qu'est-ce qu'un sélecteur de fonction ?
Un sélecteur de fonction est un identifiant de 4 octets utilisé dans Ethereum pour spécifier quelle fonction appeler dans un smart contract. Il est calculé comme les 4 premiers octets du hachage Keccak256 de la signature de fonction. Par exemple, la signature de fonction 'transfer(address,uint256)' génère le sélecteur '0xa9059cbb'.
Comment les sélecteurs de fonction sont-ils calculés ?
Les sélecteurs de fonction sont calculés en :
1. Créant la signature de fonction (ex: 'transfer(address,uint256)')
2. Calculant le hachage Keccak256 de la signature
3. Prenant les 4 premiers octets (8 caractères hex) du hachage
4. Ajoutant '0x' au début pour créer le sélecteur
Qu'est-ce qu'une signature d'événement (Topic0) ?
Une signature d'événement, également appelée Topic0, est le hachage Keccak256 complet de 32 octets d'une signature d'événement. Contrairement aux sélecteurs de fonction qui n'utilisent que 4 octets, les signatures d'événements utilisent le hachage complet. Ceci est utilisé pour identifier les événements dans les logs de transaction. Par exemple, 'Transfer(address,address,uint256)' génère un Topic0 unique de 32 octets.
Pourquoi rechercher des sélecteurs de fonction ?
Lors de l'analyse de smart contracts ou de transactions, vous rencontrez souvent des sélecteurs de fonction bruts (comme 0xa9059cbb) sans savoir quelle fonction ils représentent. La recherche de sélecteurs vous aide à comprendre quelles fonctions sont appelées. C'est particulièrement utile pour le débogage, l'audit ou la compréhension de contrats inconnus.
Quelle est la différence entre les sélecteurs de fonction et d'événement ?
Les sélecteurs de fonction font 4 octets (8 caractères hex) et identifient les appels de fonction, tandis que les signatures d'événements font 32 octets (64 caractères hex) et identifient les événements dans les logs. Les sélecteurs de fonction sont utilisés dans les données d'entrée de transaction, tandis que les signatures d'événements apparaissent comme Topic0 dans les logs de transaction.
Fonctionnalités clés
- Générer des sélecteurs de fonction (4 octets) depuis les signatures
- Générer des signatures d'événements (Topic0, 32 octets)
- Afficher le hachage Keccak256 complet
- Rechercher les sélecteurs de fonction communs dans la base de données intégrée
- Valider les formats de signature et de sélecteur
- Charger des exemples aléatoires pour les tests
- Liens vers bases de données de signatures externes (4byte.directory, Openchain)
- Inclut plus de 30 sélecteurs communs ERC20, DeFi et gouvernance
- Calcul côté client pour la confidentialité