handshake-org / handshake-org/hsd
Proposal: Add class HNS for basic blockchain metadata
- Dominant language
- JavaScript
- Stars
- 2.1k
- Forks
- 306
- PR merge metrics
- No merged PRs in 30d
Description
## Background
We're all familiar with the `IN` class ("internet"):
```
$ dig google.com IN A
...
google.com. 300 IN A 142.250.64.110
```
There are a few other lesser-known and less useful classes that are supposed to be used on local networks only, such as `CH` ("chaos" class):
```
$ dig @jay.ns.cloudflare.com version.bind CH TXT
...
version.bind. 86400 CH TXT "20171212"
```
There are a few others specified in section 3.2.4 of [rfc1035](http://www.rfc-editor.org/rfc/rfc1035.txt): `IN`, `CS`, `CH`, and `HS`.
Currently hsd and hnsd only support `IN`.
## Proposal
I had this idea specifically for hnsd because the program has no rpc interface or actually, no interface at all except the recursive resolver. However since it is a blockchain-processing application, it should have features that allow the user to ensure they are at least synced properly and confident that they are resolving names on the most-work chain.
I propose we add a unique class to hsd and hnsd both: `HNS` so a user can verify very simple blockchain status data like the current tip.
### Example
```
$ dig @127.0.0.1 hash.tip HNS TXT
...
hash.tip 0 HNS TXT "0000000000000274523871d00ba2837cb6227038053af91f35f674086b4393d1"
```
Contributor guide
Assessment
This issue has not been assessed yet.