Skip Navigation LinksSpecifications

General specifications


Namecoin blockchain domains basically follow the standard specifications for ICANN domains with TLDs (top level domains) such as .com, .net and .org, as described detailed in section ​Domain specification and following. Beside directing to a server, all Namecoin domains may contain (alternatively or additionally) personal contact data as values, which are resolved by our browser add-ons and the connected Asset Viewer. This implementation and extension of the standard domain specifications was introduced in September 2022 and follows repeated and strong requests from the Namecoin community.

If a record contains IPv4, IPv6, name server, domain delegation or redirection data, the name is resolved as a DNS record; otherwise, it is handled as an identity record and shown in the Asset Viewer. Names containing an underscore are treated as ID records only. The maximum length for domain and ID records is 63 characters excluding the TDL (253 characters including subdomains, dot separators and TLD). Records exceeding this limitations won't be resolved. The following table shows the possible characters:


a-z

Latin lowercase alphabet

Uppercase letters will be auto-converted to lower case (uppercase blockchain records are invalid and won't be resolved)

0-9

Numbers

Position anywhere in the name (name may start or end with numbers and may contain numbers only)

-

Hyphen

Not at the beginning or end of a name/subdomain, only one hyphen as separator between alphanumeric characters (exception for Punycode prefix xn--)

_

Underscore

For ID records and subdomains only. Not at the beginning or end of an ID, only one underscore as separator between alphanumeric characters (multiple underscores may be taken for multipart names)



In general, the syntax for ID records follows the specifications introduced for the id/ namespace in May 2012. Accordingly, and in line with the basic domain specifications, the data are formatted as JSON data with key/value pairs, placed between semicolons and enclosed in curly braces, for instance:

{ "name": "John Doe", "email": "john@doe.example", "bitmessage": "BM-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxz", "website": "https://doe.example", "bitcoin": "1xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "namecoin": "Nxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" }

Typical data written to the Namecoin blockchain are name, e-mail, Bitmessage address and wallet addresses. It makes no difference whether the data is separated by a space or not. In addition to the standard fields originally introduced, any other key records may be taken and are resolved by the browser add-ons. Three nested JSON levels (sub trees) are resolved by the Asset Viewer. The example in the screen capture shows the ID record domob.web3 of Daniel Kraft (the main coder of the Namecoin Core wallet), which has two JSON levels. This primarily implements JSON-LD (Linked Data) specifications, which are taken (outside of the blockchain space) for documents or server-side to the source code of websites, e.g. in order to get the data listed in public directories.

Web3 Identities


The connected Asset Viewer, accessible via our browser add-ons, enables your blockchain-based digital business card. Next to the domain name resp. identity, a so-called identicon is displayed, which is generated from the SHA-256 hash of the cryptographic asset's name on the blockchain with its namespace prefix. The cryptographic function of signing temporary login tokens etc. allows passwordless OpenID web logins and identity verification. The Namecoin domain and ID record thus enables decentralized Web3 authentication. For details on the technical​ implementation, please refer to the corresponding section Verifying ownership.

Non-Fungible Tokens


While the cryptographic asset of a blockchain record is a non-fungible token (NFT) itself and can be used as a utility asset, a classical NFT may contain on-chain data or ​a link to external media. For the different methods and standards, please refer to the dedicated section Specifications as well as the landing page of the affiliated auction platform.


SSL encryption


The browser add-on resolves both HTTP (Hypertext Transfer Protocol) and HTTPS (Hypertext Transfer Protocol Secure) connections. To resolve the blockchain domains, a request is made to the connected blockchain explorer, which directly accesses the Namecoin blockchain. The data retrieved via the add-ons is thus taken live from the blockchain and cached for further requests. To connect to the target servers, the add-on uses a PAC (Proxy Auto-Configuration) script, a feature for connecting to local or external proxy servers, implemented in all browsers and operating systems and originally introduced in Netscape back in the early days of the Internet. While the add-on connects to the server in HTTP mode as a proxy of itself, which makes no difference compared to a normal web request, it needs to connect to a local proxy server to establish an encrypted HTTPS connection. The local proxy server makes a separate DNS request to the connected blockchain explorer and is offered in addition to the browser add-ons as Namecoin DNS resolver for Android and all desktop platforms. Whenever connecting to a website, the listener on port 8080 forwards the CONNECT request to a proxy socket running in its own instance on a dynamically assigned local port. When the DNS resolver is turned off via the toggle button, the static socket assigned to port 8080 is closed, running dynamic instances are terminated with timeout or when the DNS resolver app is closed.

In order to get the blockchain SSL/TLS certificates standardized and accepted by all common browsers, the browser add-on provides its own Namecoin root certificate. SSL (Secure Sockets Layer) and its successor TLS (Transport Layer Security) are security protocols for encrypted connections between server and client (your local browser). Every Namecoin domain offered on the affiliated auction platform domaindeals.pro comes along with an SSL/TLS certificate issued by the connected Namecoin Root Certificate Authority, valid for one year. Members of our Telegram community @namecoin and our Discord community namecoin.chat may also request for the issuance of a certificate for their website. The Namecoin root certificate is for download:

Namecoin_Root_Certificate.cer

For Google Chrome browsers on Windows, the root certificate needs to be installed in the Trusted Root Certificates folder of the operating system. The system automatically selects the correct location during installation. For the Firefox browser on a desktop platform, the certificate needs to be added to the internal certificate store:

→ Settings → Privacy & Security
→ Certificates → Show certificates
→ Import
→ Trust this CA to identify websites
→ OK → OK

For installation on Android, please follow the instructions in the video above, which refers to the Telegram channel notification First punycode real use-case ever. It has to be noted that the browser add-on is on mobile devices only available for Chromium-based browsers like Google Chrome or Kiwi. The add-ons and the Namecoin DNS Resolver are expected to be released in the add-on and app stores in October 2022.


Namecoin DNS resolver on startup 
 

Namespaces


The namespaces are defined by alphanumeric characters followed by a slash. The browser add-on comes along with 48 new namespaces, including 13 internationalized, non-Latin TLDs (top level domains) form the linguistic equivalent of the standard TLD .bit. This extension of the default namespace d/ for .bit domains and id/ for identity records, introduced in September 2022, meets the Namecoin community's request for free or alternative domain names. This sortable table lists 50 namespaces and their corresponding TLDs on the Namecoin blockchain:



Internationalized domain names (IDN)


Internationalized domain names with non-Latin and Unicode characters need to be encoded to Punycode, which represents the name in a browser-readable form. The Punycoder below auto-converts uppercase names to lowercase:

 


The TLD itself is not stored on the blockchain and is assigned by the corresponding namespace prefix, which is followed by the encrypted name. For example, the equivalent for bitcoin.bit looks like:

Chars Blockchain asset Domain name
Cyrillic ru/xn--90aoahqe0a биткоин.бит
Chinese cn/xn--6stq12a27e 比特币.位元


The following table shows nine IDNs, with their language as name, in left-right writing direction:

Language Blockchain asset Domain name URL
Greek gr/xn--hxargifdar ελληνικά.μπιτ https://ελληνικά.μπιτ/
Russian ru/xn--h1acbxfam русский.бит https://русский.бит/
Chinese cn/xn--fiq228c 中文.位元 https://中文.位元/
Korean kr/xn--3e0bk47br7k 한국어.비트 https://한국어.비트/
Japanese jp/xn--wgv71a119e 日本語.ビット https://日本語.ビット/
Armenian an/xn--y9aia5b0ai2e Հայերեն.բիթ https://Հայերեն.բիթ/
Hindi hi/xn--j2bd4cyah0f हिन्दी.बिट https://हिन्दी.बिट/
Bengali bn/xn--54b7fta0cc বাংলা.বিট https://বাংলা.বিট/
Thai th/xn--o3cw4h ไทย.บิต https://ไทย.บิต/


The next table shows the remaining four IDNs, with their language as name, in right-left write direction. While the HTTP protocol identifier is written from left to right, the domain name itself is written in reverse order, even though both parts form the final URL:

Language Blockchain asset Domain name URL
Arabic ar/xn--mgbcd4a2b0d2b العربية.بت https://العربية.بت/
Persian fa/xn--mgbug7c06b فارسی.بیت https://فارسی.بیت/
Hebrew he/xn--7cbhb8itb9b4bs עִבְרִית.ביט https://עִבְרִית.ביט/
Urdu ur/xn--mgbqf7g اردو.بٹ https://اردو.بٹ/


For more details and methods on how to create Namecoin blockchain domains, see Register .bit Domains.