==== EIP 165: ERC-165 Standard Interface Detection ====
[[dido:public:ra:xapend:xapend.b_stds:defact:ethereum:eip| Return to Ethereum ERCs ]]
: **Note**: The following is an excerpt from the official Ethereum site. It is provided here as a convenience and is not authoritative. Refer to the original document as the authoritative reference.
Data sheet for Standard Interface Detection
| Title | Standard Interface Detection |
| Author | Christian Reitwießner, Nick Johnson, Fabian Vogelsteller, Jordi Baylina, Konrad Feldmeier, William Entriken |
| Status | Final |
| Created | 2018-01-23 |
| Description | [[http://eips.ethereum.org/EIPS/eip-165]] |
| Specification | [[http://eips.ethereum.org/EIPS/eip-165#Specification]] |
| Category | ERC |
| Requires | [[dido:public:ra:xapend:xapend.b_stds:defact:ethereum:eip:erc_0214|EIP 214 ]] |
=== Simple Summary ===
: //Creates a standard method to publish and detect what interfaces a [[dido:public:ra:xapend:xapend.a_glossary:s:smart_contract|smart contract]] implements.//
=== Abstract ===
://Herein, we standardize the following://
://1. How interfaces are identified//
://2. How a contract will publish the interfaces it implements//
://3. How to detect if a contract implements ERC-165//
://4. How to detect if a contract implements any given interface//
=== Motivation ===
: // For some “standard interfaces” like the [[dido:public:ra:xapend:xapend.b_stds:defact:ethereum:eip:erc_0020| ERC-20]] token interface, it is sometimes useful to query whether a contract supports the interface and if yes, which version of the interface, in order to adapt the way in which the contract is to be interacted with. Specifically for ERC-20, a version [[dido:public:ra:xapend:xapend.a_glossary:i:id|identifier]] has already been proposed. This proposal standardizes the concept of interfaces and standardizes the identification (naming) of interfaces.//