top | item 21001640

(no title)

_wldu | 6 years ago

I never imagined someone would write a recursive DNS sever in javascript. Have they explained why they chose javascript? It can't perform well nor scale and they even sort of admit that:

https://github.com/handshake-org/hsd#unbound-support

discuss

order

QuicksilverJohn|6 years ago

Basically, only the root record parsing is done in JS and then passed to unbound for resolution. Though it is possible to run a pure JS resolver, it's not really recommended.

There's also a more portable authoritative & recursive [resolver in C](https://github.com/handshake-org/hnsd).

Plus, the whole protocol for node communication and name resolution & proofs is so simple, that it's pretty easy to reimplement in any language.

w8rbt|6 years ago

Right, thanks. And I hope my question does not sound too critical. I was just genuinely curious why JS was used.

I think JS is fine for small to mid-sized tasks, prototyping and testing ideas. However, for real DNS servers, used by a lot of clients, I believe C, C++, Go or Rust would be an absolute requirement.

acdha|6 years ago

It’s a blockchain: JavaScript is the least of their worries.