MetaMask / metamask-extension

:globe_with_meridians: :electric_plug: The MetaMask browser extension enables browsing Ethereum blockchain enabled websites
https://metamask.io
Other
11.96k stars 4.89k forks source link

Update ENS resolving implementation to match what is defined in EIP-1577 #5742

Closed decanus closed 5 years ago

decanus commented 5 years ago

What problem are you trying to solve?

Name resolution is done using the content and multihash fields right now, to try and find a better system @arachnid and I created EIP-1577 that allows for a better representation of network and content addresses.

Describe the solution you'd like

Implement resolution using the new multiaddr field when available.

decanus commented 5 years ago

There will be changes made to the EIP so implementation should be paused.

decanus commented 5 years ago

The EIP has been updated and should be good to go: https://eips.ethereum.org/EIPS/eip-1577

danfinlay commented 5 years ago

Pinging @PhyrexTsai in case he has bandwidth for this.

decanus commented 5 years ago

@danfinlay @bitpshr probably best to put this on pause, as we expect to update the spec again soon.

decanus commented 5 years ago

@danfinlay The EIP has been updated, work should be able to start on it now. https://eips.ethereum.org/EIPS/eip-1577

Platinumwrist commented 5 years ago

Cant connect blank screen at least 8hrs of nothing but blank

bdresser commented 5 years ago

@Platinumwrist could you share your UI and background logs on issue https://github.com/MetaMask/metamask-extension/issues/4894 to help us debug. This issue is for something entirely different.

Instructions how to find those logs are here.

pldespaigne commented 5 years ago

Hi ! I have wirtten a small JS lib to implement EIP1577 ! @decanus and the ENS team have used it for the ENS Manager dApp (issue), so I think it could also help in Metamask :) Also it would be an honnor for me to contribute !

danfinlay commented 5 years ago

@pldespaigne that's fantastic! We would be incredibly grateful for the contribution, we want our ENS support to reflect the latest standard. Please let us know if you have any questions!

pldespaigne commented 5 years ago

OK I will be working on it :grinning: ! Can you help me to find my way through the metamask codebase ?

danfinlay commented 5 years ago

I believe our current implementation is in this folder: https://github.com/MetaMask/metamask-extension/tree/develop/app/scripts/lib/ens-ipfs

I was just made aware of this library, which may be useful for allowing us to resolve a variety of decentralized name services, although I need to look into it more (can it use our user's configured blockchain provider?) https://github.com/unstoppabledomains/namicorn

Arachnid commented 5 years ago

namicorn looks okay, but I'm not sure of its value: The format of its returned data seems to depend on the provider, and it doesn't attempt to encode or decode the content hash data at all. I'm not sure it would save you any time over just using our libraries (or calling the contracts) directly.

pldespaigne commented 5 years ago

Work in progress ;)

pldespaigne commented 5 years ago

ping @danfinlay @kumavis @decanus @Arachnid work done ✔️ review requested here

pldespaigne commented 5 years ago

Guys ? Is there anybody to review my PR ? @danfinlay @kumavis @bdresser

bdresser commented 5 years ago

Closed in https://github.com/MetaMask/metamask-extension/pull/6402