今回はEthereumでDappsを開発した経験のある人は1度は目にしたことがある、「ABI」について解説します。 ABIの仕様は以下のSolidityのドキュメントにまとめられています。 solidity.readthedocs.io ABI仕様の技術的な説明は上記ドキュメントに譲るとして、本記事では、ABIの目的やABIがどのように参照・利用されているか?に焦点を当てて解説します。 ABI(Application Binary Interface)とは 目的 ABIに準拠した言語(コンパイラ) 基本設計 関数セレクタ コンパイラーが準拠すべき処理 clientツールが準拠すべき処理 引数のエンコーディング コンパイラーが準拠すべき処理 clientツールが準拠すべき処理 型定義(エンコーディング) イベント コンパイラーが準拠すべき処理 clientツールが準拠すべき処理 JSONフォ