Skip to content
Use the ABI of a smart contract to find out the function signatures
JavaScript
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.vscode
bin
.gitignore
Readme.md
package-lock.json
package.json

Readme.md

abi2signature

Generates the Ethereum ABI 4 byte signatures if you provide the ABI or the function signature.

Installation

$ npm i -g abi2signature

Usage examples

From stdin

$ abi2signature < cryptokitties-abi.json
0x06fdde03 -> [ function ] name
0x095ea7b3 -> [ function ] approve
0x18160ddd -> [ function ] totalSupply
0x23b872dd -> [ function ] transferFrom
0x313ce567 -> [ function ] decimals
0x475a9fa9 -> [ function ] issueTokens
0x70a08231 -> [ function ] balanceOf
0x95d89b41 -> [ function ] symbol
0xa9059cbb -> [ function ] transfer
0xdd62ed3e -> [ function ] allowance
0xddf252ad -> [ event ] Transfer
0x8c5be1e5 -> [ event ] Approval

From function string

$ abi2signature func2sig "receive(address)"
receive(address) -> 0x9d01174f

From ABI string

$ abi2signature string2sig '[{...your abi...}]' 

Vyper one liner

$ vyper -f abi contracts/uniswap_exchange.vy | abi2signature

Solidity one liner

Solidity outputs a header so I could not find a way to do this

$ solc --abi --pretty-json contracts/ballot.sol | abi2signature
======= contracts/ballot.sol:Crowdfunding =======
...
You can’t perform that action at this time.