Skip to main content

You are not logged in. Your edit will be placed in a queue until it is peer reviewed.

We welcome edits that make the post easier to understand and more valuable for readers. Because community members review edits, please try to make the post substantially better than how you found it, for example, by fixing grammar or adding additional resources and hyperlinks.

Required fields*

6
  • 1
    what is the sam command part of the bytes4(sha3("sam(bytes,bool,uint256[])") Commented Jul 9, 2018 at 23:02
  • @FightFireWithFire Your comment is unclear. Commented Jul 24, 2018 at 8:27
  • The point about "this" ABI not being part of the Yellow Paper and anyone being able to define "an" ABI is really interesting/important (and kinda shocking, to someone like me coming from the world of CPU/OS ABIs). Would be nice then to have some reference/history on where did this ABI come from and why is everyone standardizing on it. Is maybe everything so clear-cut that there is no reason to have different ABIs? Commented Nov 30, 2018 at 5:15
  • 2
    @hmijail github.com/ethereum/wiki/wiki/Ethereum-Contract-ABI/… is the first commit on Github. Prior documentation may have been on an etherpad. To get things working, the early developers needed an ABI. The history is probably similar to how en.wikipedia.org/wiki/Comparison_of_executable_file_formats first developed. Commented Jan 4, 2019 at 14:02
  • What do you mean Solidity, Serpent, and Web3.js comply with the aforementioned ABI? Are ABI's language-specific? Commented Feb 19, 2021 at 4:49