Handshake reserved names. See handshake-org/hs-names for more info.
The 3 directories data, names, build have sub-dirs based on the data source name (see Configuration below). Currently, 2 sources exist:
originalis the data used pre-softforkupdatedis the proposed
-
data/*/ - data source to build segregated files innames- Some of these sources can be fetched/updated with the
./downloadscript words.json- standard dictionary word listtop-1m.csv- dump of Alexa ranking listroot.zone- dumped from ICANN, whole root in zone formattlds-alpha-by-domain.txt- dumped from IANA, currently delegated TLDsicctlds.js- manually dumped from ICANN, IDN ccTLDsextras.js- manually curated list of names to exclude from reservationcustom.js- manually curated list of other naming systems and forced name-domain mapping
- Some of these sources can be fetched/updated with the
-
names/*/ - seeupdate.jsalexa.json- from Alexa csvcctld.json- from IANA, all 2-char or idn-ccTLDgtld.json- from IANA, all non-oldTLD and non-ccTLDrtld.json- from ICANN Root zoneblacklist.json- hardcoded list, blacklist like test/infra TLDstld.json- hardcoded list, the original TLDstrademarks.json- hardcoded list, list of submitted tm claimscustom.json- from custom.js, custom tld-domain mappingwords.json- from words.js, dictionary words
-
build/*/ - final built files to be used by everythingvalid-N.json- reserved names when considering top N Alexa namesinvalid-N.json- names that did not make it into the reserved list with reasonlockup.json- final database (with flags) in json formatlockup.db- final database (with flags) in binary db formatlockup-compact.db- final database (with flags) in binary db format - but stripped down to just namehash and flagsunreserved.json- names that will no longer be reservedunreserved-root.json- names that were reserved as ICANN TLDs that will no longer be reserved
-
alexa- copy of alexa top 1M domains, extracted intoupdated(TODO: remove this file/dir?)
-
download- refreshes data sources from IANA, ICANN in
data/
- refreshes data sources from IANA, ICANN in
-
update.js- reads data from
data/ - creates/updates JSON files in
names/
- reads data from
-
generate.js- reads data from
names/(and some from data) - generates final outputs into
build/
- reads data from
-
unreserved.js- reads existing hsd reserved list and compares with built
lockup.db - generates
unreserved.jsonandunreserved-root.jsoninbuild/
- reads existing hsd reserved list and compares with built
Scripts accept config options as arguments and environment variables. Use as --name <value> arg or HNS_NAME=<value> env.
| name | default | description |
|---|---|---|
| data-source | 'updated' | the data source name inside data, names, build directories |
| top | 10000 | number of top Alexa names to consider |
Read generate.js, it has comments.