ethers-io / ethers-ens

Deprecated; please see `@ethersproject/cli` instead
https://github.com/ethers-io/ethers.js/tree/ethers-v5-beta/packages/cli
48 stars 15 forks source link

special characters not supported? #7

Closed jadster closed 4 years ago

jadster commented 7 years ago

Looks like this tool doesn't allow for german Umlauts (öüä) in ENS names, eventhough they are supported by ENS. Is there a workaround?

ricmoo commented 7 years ago

You are correct. At this time I do not support characters outside of /^[0-9a-z-]*$/.

I can add a flag to the command line tool to override this though, if it is a feature people really want, but there are caveats that need to be understood.

It still remains to be seen how well support is going to be (at least in the near future) of names outside of this, and a lot of additional security concerns come up as well. Also, the library becomes much larger as it must contain a large database of all UTF-8 characters and how they relate to each other.

Depending on your browser, this may show up as apple.com: https://www.xn--80ak6aa92e.com/

Just as a quick example of the dangers of allowing the entire UTF-8 set; which gets converted into puny code, allowing homographs.

jadster commented 7 years ago

didn't realize the puny code urls allow homographs!

I just noticed that Mist/geth allow umlauts but not all UTF characters... no idea how that works... but I was hoping it would work better in ENS than in DNS world. Allowing for normal german spelling. also for personal German or french names (for personal wallets e.g.).

x011 commented 6 years ago

"I can add a flag to the command line tool to override this though" Is this still an option?

ricmoo commented 4 years ago

This is hard to support in the CLI, but the tool run by ens makes this quite simple.

That said, keep in mind the danger of buying these domains; you will likely want to by all obvious pseudo-homoglyphs. For example, if you buy lächeln.eth, you will also want to prolly buy lacheln.eth.

Anyways, closing this now since it is managed in another repository now. Feel free to open a new ticket these. :)