The ERC1820 registry contract provides a common contract interface registration/query service, and Dfinity also needs such a service. Dfinity currently does not have such a service.
Problems to be solved
No one has the motivation to establish such a service, because the call to the contract does not require the caller to pay gas (Cycles) fees, but the contract publisher provides gas (Cycles) in the contract.
Solution
Canister should implement the interface self-describing.
Dfinity can solve the problem solved by ERC1820 through the interface self-description, and achieve the self-description of the canister interface by implementing supported Interface(text) → (bool).
Example
You can test it with the following command :
dfx deploy
dfx canister call standard supportedInterface '("test:(text)->(text)query")'