User Tools

Site Tools


dido:public:ra:xapend:xapend.b_stds:defact:ethereum:eip:erc_1820

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
dido:public:ra:xapend:xapend.b_stds:defact:ethereum:eip:erc_1820 [2020/05/07 15:35]
nick ↷ Links adapted because of a move operation
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:​xapend.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:​xapend.stds:​defact:​ethereum:​eip:​erc_0165| 165]], [[dido:​public:​xapend.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:​xapend.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:​xapend.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:​xapend.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.//
dido/public/ra/xapend/xapend.b_stds/defact/ethereum/eip/erc_1820.1588880156.txt.gz · Last modified: 2020/05/07 15:35 by nick