handshake-org / handshake-org/hsd

Proposal: Add class HNS for basic blockchain metadata

Open
#443 4 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.