@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
Markdown
# 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).