{"id":16325483,"url":"https://github.com/tynes/hsd-authns-scripts","last_synced_at":"2025-10-29T21:41:21.320Z","repository":{"id":104848491,"uuid":"261043033","full_name":"tynes/hsd-authns-scripts","owner":"tynes","description":"Simple scripts to set up an authoritative nameserver for a Handshake name","archived":false,"fork":false,"pushed_at":"2020-05-10T05:52:44.000Z","size":9,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-12-26T01:26:49.118Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tynes.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-05-03T23:50:01.000Z","updated_at":"2023-05-14T08:45:53.000Z","dependencies_parsed_at":"2023-07-04T22:50:12.360Z","dependency_job_id":null,"html_url":"https://github.com/tynes/hsd-authns-scripts","commit_stats":{"total_commits":10,"total_committers":1,"mean_commits":10.0,"dds":0.0,"last_synced_commit":"426caeaa2dfa8166e66b483c8148d88d51fbd81d"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tynes%2Fhsd-authns-scripts","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tynes%2Fhsd-authns-scripts/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tynes%2Fhsd-authns-scripts/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tynes%2Fhsd-authns-scripts/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tynes","download_url":"https://codeload.github.com/tynes/hsd-authns-scripts/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239242801,"owners_count":19606100,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-10T23:05:07.508Z","updated_at":"2025-10-29T21:41:16.284Z","avatar_url":"https://github.com/tynes.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Handshake Authoritative NS Demo\n\nThis repo is a demo app showing how to set up an authoritative\nnameserver. It is necessary to set up an authoritative name\nserver when using Handshake because if all records must be\nplaced on chain, it would not be scalable.\n\n## Requirements\n\n- [hsd](https://github.com/handshake-org/hsd)\n- Unix like operating system\n- Docker\n- `dig`\n\nIf you are running on macOS, you will need to enable\nbinding to the loopback address `127.0.1.1`. The DNS\nserver listens on that address so that the user doesn't\nneed to reconfigure their current DNS settings.\n\n```bash\n$ sudo ifconfig lo0 alias 127.0.1.1 up\n```\n\n\n## Demo\n\nMake sure to be running `hsd` in `regtest`\n\n```bash\n$ hsd --network regtest --memory true\n```\n\nNow navigate through an auction and set the resource on chain.\nThe resource is in `resource.json`.\n\n```bash\n# Usage ./buy-name.sh \u003cname\u003e \u003cpath to hsd gitrepo\u003e\n$ ./buy-name.sh tynes\n```\n\nNow start the authoritative name server. It is configured\nwith a few DNS RRs, they can be found in `nsd/zones/db.tynes`.\nThe `run.sh` script will run a docker image `hardware/nsd-dnssec`.\n\n```bash\n$ docker pull hardware/nsd-dnssec\n$ ./run.sh\n```\n\nNow query for DNS records by sending a request to the `hsd`\nrecursive resolver.\n\n```bash\n$ ./dig.sh lol.tynes TXT\n```\n\n## hsd Ports\n\n|                          | Main  | Testnet | Regtest | Simnet |\n|--------------------------|-------|---------|---------|--------|\n| Recursive Nameserver     | 5350  | 15350   | 25350   | 35350  |\n| Authoritative Nameserver | 5349  | 15349   | 25349   | 35349  |\n| Plaintext P2P            | 12038 | 13038   | 14038   | 15038  |\n| Encrypted P2P            | 44806 | 45806   | 46806   | 47806  |\n| Node HTTP                | 12037 | 13037   | 14037   | 15037  |\n| Wallet HTTP              | 12039 | 13039   | 14039   | 15039  |\n\n\n## Next Steps\n\nSetting up a `DS` record to start a DNSSEC based chain of trust.\nSee the [Handout](https://github.com/pinheadmz/handout) project\nfor a guide on how to do this.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftynes%2Fhsd-authns-scripts","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftynes%2Fhsd-authns-scripts","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftynes%2Fhsd-authns-scripts/lists"}