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:
original
is the data used pre-softforkupdated
is the proposed
-
data
/*/ - data source to build segregated files innames
- Some of these sources can be fetched/updated with the
./download
script 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.js
alexa.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.json
andunreserved-root.json
inbuild/
- 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.