This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
dido:public:ra:xapend:xapend.b_stds:defact:ethereum:eip:erc_1820 [2020/05/05 20:49] nick ↷ Page moved from dido:public:stds:defact:ethereum:eip:erc_1820 to dido:public:apdx.stds:defact:ethereum:eip:erc_1820 |
dido:public:ra:xapend:xapend.b_stds:defact:ethereum:eip:erc_1820 [2022/02/03 20:15] (current) 62.92.37.226 ↷ Links adapted because of a move operation |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ======== EIP 1820: Pseudo-introspection Registry Contract ========= | + | ==== EIP 1820: Pseudo-introspection Registry Contract ==== |
| - | [[dido:public:stds:defact:ethereum | Return to Ethereum ERCs ]] | + | [[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 connivence and is not authoritative. Refer to the original document as the authoritative reference. | + | : **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. |
| <table> | <table> | ||
| Line 13: | Line 13: | ||
| | Specification | [[http://eips.ethereum.org/EIPS/eip-1820#Specification]] | | | Specification | [[http://eips.ethereum.org/EIPS/eip-1820#Specification]] | | ||
| | Category | ERC | | | Category | ERC | | ||
| - | | Requires | [[dido:public:stds:defact:ethereum:eip:erc_0165| 165]], [[dido:public:stds:defact:ethereum:eip:erc_0214| 214 ]] | | + | | Requires | [[dido:public:ra:xapend:xapend.b_stds:defact:ethereum:eip:erc_0165|165 ]], [[dido:public:ra:xapend:xapend.b_stds:defact:ethereum:eip:erc_0214|214]] | |
| - | | Replaces | [[ http://eips.ethereum.org/EIPS/eip-820 | ERC 820 ]] | | + | | Replaces | [[ http://eips.ethereum.org/EIPS/eip-820 |ERC 820]] | |
| </table> | </table> | ||
| + | === Simple Summary === | ||
| + | : //This standard defines a universal registry [[dido:public:ra:xapend:xapend.a_glossary:s:smart_contract|smart contract]] where any address (contract or regular account) can register which [[dido:public:ra:xapend:xapend.a_glossary:i:interface|interface]] it supports and which smart contract is responsible for its implementation.// | ||
| - | ====== Simple Summary====== | + | : //This standard keeps backward compatibility with [[dido:public:ra:xapend:xapend.b_stds:defact:ethereum:eip:erc_0165| ERC165]].// |
| - | : //This standard defines a universal registry smart contract where any address (contract or regular account) can register which interface it supports and which smart contract is responsible for its implementation.// | + | |
| - | : //This standard keeps backward compatibility with [[dido:public:stds:defact:ethereum:eip:erc_0165| ERC165]].// | + | === Abstract === |
| - | + | ||
| - | ====== Abstract ====== | + | |
| : //This standard defines a registry where smart contracts and regular accounts can publish which functionality they implement—either directly or through a proxy contract.// | : //This standard defines a registry where smart contracts and regular accounts can publish which functionality they implement—either directly or through a proxy contract.// | ||
| Line 30: | Line 29: | ||
| : //This registry MAY be deployed on any chain and shares the same address on all chains.// | : //This registry MAY be deployed on any chain and shares the same address on all chains.// | ||
| - | : //Interfaces with zeroes (0) as the last 28 bytes are considered [[dido:public:stds:defact:ethereum:eip:erc_0165| ERC165]] interfaces, and this registry SHALL forward the call to the contract to see if it implements the interface.// | + | : //Interfaces with zeroes (0) as the last 28 bytes are considered [[dido:public:ra:xapend:xapend.b_stds:defact:ethereum:eip:erc_0165|ERC165]] interfaces, and this registry SHALL forward the call to the contract to see if it implements the interface.// |
| - | : //This contract also acts as an [[dido:public:stds:defact:ethereum:eip:erc_0165| ERC165]] cache to reduce gas consumption.// | + | : //This contract also acts as an [[dido:public:ra:xapend:xapend.b_stds:defact:ethereum:eip:erc_0165|ERC165]] cache to reduce [[dido:public:ra:xapend:xapend.a_glossary:g:gas|gas]] consumption.// |
| - | ====== Motivation ====== | + | === Motivation === |
| - | : //There have been different approaches to define pseudo-introspection in Ethereum. The first is ERC165 which has the limitation that it cannot be used by regular accounts. The second attempt is [[ https://github.com/ethereum/EIPs/issues/672 | ERC672]] which uses reverse Ethereum Name Service (ENS)(( | + | : //There have been different approaches to define pseudo-introspection in [[dido:public:ra:xapend:xapend.a_glossary:e:ethereum|Ethereum]]. The first is [[dido:public:ra:xapend:xapend.b_stds:defact:ethereum:eip:erc_0165|ERC165]] which has the limitation that it cannot be used by regular accounts. The second attempt is [[ https://github.com/ethereum/EIPs/issues/672 |ERC672]] which uses reverse Ethereum Name Service (ENS)(( |
| - | Ethereum Name Servie, [[https://ens.domains/]] | + | Ethereum Name Service, [[https://ens.domains/]] |
| )). Using reverse ENS has two issues. First, it is unnecessarily complicated, and second, ENS is still a centralized contract controlled by a ''multisig''. This ''multisig'' theoretically would be able to modify the system.// | )). Using reverse ENS has two issues. First, it is unnecessarily complicated, and second, ENS is still a centralized contract controlled by a ''multisig''. This ''multisig'' theoretically would be able to modify the system.// | ||
| - | : //This standard is much simpler than ERC672, and it is fully decentralized. | + | : //This standard is much simpler than ERC672, and it is fully decentralized.// \\ |
| - | // | + | |
| : //This standard also provides a unique address for all chains. Thus solving the problem of resolving the correct registry address for different chains.// | : //This standard also provides a unique address for all chains. Thus solving the problem of resolving the correct registry address for different chains.// | ||