UNPKG

@testcnsdomains/eth-ens-namehash

Version:

A simple module for generating ENS/CNS namehashes per spec https://github.com/ethereum/EIPs/issues/137

36 lines (21 loc) 1.19 kB
# Core CNS Namehash (Forked from ENS) A javascript library for generating CoreDao Name Service (CNS) namehashes per [spec](https://github.com/ethereum/EIPs/issues/137). [Available on NPM](https://www.npmjs.com/package/@cnsdomains/eth-ens-namehash) ## Installation `npm install @cnsdomains/eth-ens-namehash -S` ## Usage ```javascript var namehash = require("@cnsdomains/eth-ens-namehash"); var hash = namehash.hash("foo.core"); // Also supports normalizing strings to ENS compatibility: var input = getUserInput(); var normalized = namehash.normalize(input); ``` ## Security Warning CNS Supports UTF-8 characters, and so many duplicate names are possible. For example: - faceboоk.core - facebook.core The first one has non-ascii chars. (control+F on this page and search for facebook, only the second one will match). namehash.normalize() doesn't automagically remap those, and so other precautions should be taken to avoid user phishing. ## Development This module supports advanced JavaScript syntax, but exports an ES5-compatible module. To re-build the exported module after making changes, run `npm run bundle` (must have [browserify](http://browserify.org/) installed).