diff --git a/.gitignore b/.gitignore index ceaea36..d2063c8 100644 --- a/.gitignore +++ b/.gitignore @@ -130,3 +130,5 @@ dist .yarn/install-state.gz .pnp.* + +*.txt \ No newline at end of file diff --git a/README.md b/README.md index 3cbbf31..06c558c 100644 --- a/README.md +++ b/README.md @@ -5,33 +5,38 @@ ```bash git clone https://git.woodburn.au/nathanwoodburn/hns-address.git cd hns-address -npm install hsd +npm install ``` ## Find an address - -Edit `find-address.js` and fill in these fields: - -- `ACCOUNT_XPUB`: the account extended public key -- `SEARCH_ADDRESS`: the address to search for +- `xpub`: the account extended public key +- `address`: the address to search for +- `start`: the starting index (default: 0) +- `end`: the ending index (default: 0x7fffffff) ```bash -node find-address.js +node find-address.js --xpub your-xpub-key --address address-to-search-for ``` ## Generate addresses +- `xpub`: the account extended public key +- `number`: the number of addresses to generate (default: 1000) +- `start`: the starting index (default: 0) +- `change`: toggle to display change addresses (default: false) -Edit `generate-address.js` and fill in these fields: - -- `ACCOUNT_XPUB`: the account extended public key -- `START`: the starting index -- `END`: the ending index +Generate the first 1000 addresses. ```bash -node generate-address.js +node generate-address.js --xpub your-xpub-key --number 1000 ``` + +Generate addresses from 1000 to 1010 and display change addresses. +```bash +node generate-address.js --xpub your-xpub-key --number 10 --start 1000 --change +``` + Probably best to save the output to a file. ```bash -node generate-address.js > addresses.txt +node generate-address.js --xpub your-xpub-key > addresses.txt ``` \ No newline at end of file diff --git a/find-address.js b/find-address.js index 000c2c4..19debff 100644 --- a/find-address.js +++ b/find-address.js @@ -6,16 +6,15 @@ const assert = require('node:assert/strict'); const HDPublicKey = require('hsd/lib/hd/public'); const Address = require('hsd/lib/primitives/address'); +const minimist = require('minimist'); +const args = minimist(process.argv.slice(2)); -// ********** -// FILL THESE -// ********** const NETWORK = 'main'; -const ACCOUNT_XPUB = 'xpub6BvF6DnLZRV6my62FuQ8nw5TRebL8qr9Wa7u2tE1aEedHWBt4XAfSaNTmP1SM2nXErGWSzxRAHVwqstPzRrsXtA2vn1a4KzLwAVEgLNmfca'; // should start with: xpub, rpub, etc. -const SEARCH_ADDRESS = 'hs1q3tlnmk9sp2luxdvkdcyvtj8ucj5pa4hwvr8ql6'; +const ACCOUNT_XPUB = args.xpub || 'xpub6BvF6DnLZRV6my62FuQ8nw5TRebL8qr9Wa7u2tE1aEedHWBt4XAfSaNTmP1SM2nXErGWSzxRAHVwqstPzRrsXtA2vn1a4KzLwAVEgLNmfca'; -const [START, END] = [0, 0x7fffffff]; -// const [START, END] = [0, 100]; +const START = parseInt(args.start || '0'); +const END = parseInt(args.end || '0x7fffffff'); +const SEARCH_ADDRESS = args.address || 'hs1q3tlnmk9sp2luxdvkdcyvtj8ucj5pa4hwvr8ql6'; (() => { const account = HDPublicKey.fromBase58(ACCOUNT_XPUB, NETWORK); diff --git a/generate-address.js b/generate-address.js index b88a396..92c12fa 100644 --- a/generate-address.js +++ b/generate-address.js @@ -6,34 +6,52 @@ const assert = require('node:assert/strict'); const HDPublicKey = require('hsd/lib/hd/public'); const Address = require('hsd/lib/primitives/address'); +const minimist = require('minimist'); +const args = minimist(process.argv.slice(2)); + -// ********** -// FILL THESE -// ********** const NETWORK = 'main'; -const ACCOUNT_XPUB = 'xpub6BvF6DnLZRV6my62FuQ8nw5TRebL8qr9Wa7u2tE1aEedHWBt4XAfSaNTmP1SM2nXErGWSzxRAHVwqstPzRrsXtA2vn1a4KzLwAVEgLNmfca'; // should start with: xpub, rpub, etc. +const ACCOUNT_XPUB = args.xpub || 'xpub6BvF6DnLZRV6my62FuQ8nw5TRebL8qr9Wa7u2tE1aEedHWBt4XAfSaNTmP1SM2nXErGWSzxRAHVwqstPzRrsXtA2vn1a4KzLwAVEgLNmfca'; + +const START = parseInt(args.start || '0'); +const NUMBER = parseInt(args.number || '1000'); +const END = START + NUMBER - 1; + +// Toggle to display change addresses +const DISPLAY_CHANGE = args.change || false; -const [START, END] = [0, 1000]; (() => { const account = HDPublicKey.fromBase58(ACCOUNT_XPUB, NETWORK); console.log('[*] Using account public key:', account.xpubkey(NETWORK)); console.log('[*] Generating addresses', START, 'to', END); - const len = END - START; - assert((len >>> 0) > 0); + assert(END >= START); + if (DISPLAY_CHANGE) { + for (let i = START; i <= END; i++) { + /** @type {Buffer[]} */ + const keys = [ + account.derive(0).derive(i).publicKey, // receive + account.derive(1).derive(i).publicKey, // change + ]; - for (let i = START; i <= END; i++) { + for (const [branch, key] of keys.entries()) { + const addr = Address.fromPubkey(key); + console.log(addr.toString()); + } + } + } + else { + for (let i = START; i <= END; i++) { + /** @type {Buffer[]} */ + const keys = [ + account.derive(0).derive(i).publicKey, // receive + ]; - /** @type {Buffer[]} */ - const keys = [ - account.derive(0).derive(i).publicKey, // receive - account.derive(1).derive(i).publicKey, // change - ]; - - for (const [branch, key] of keys.entries()) { - const addr = Address.fromPubkey(key); - console.log(addr.toString()); + for (const [branch, key] of keys.entries()) { + const addr = Address.fromPubkey(key); + console.log(addr.toString()); + } } } })(); \ No newline at end of file diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..27bbfb5 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,500 @@ +{ + "name": "hns-address", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "hns-address", + "version": "1.0.0", + "license": "ISC", + "dependencies": { + "hsd": "^7.0.1", + "minimist": "^1.2.8" + } + }, + "node_modules/@handshake-org/bfilter": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@handshake-org/bfilter/-/bfilter-2.3.0.tgz", + "integrity": "sha512-vTKTVJvLHz2knpdnYMT0idb6R+HlOCbYKlw2L9Bk9oKOAXwjOIFUp6hnZKIVb87rYW8eEfUROrFG3+DcYwxm7w==", + "license": "MIT", + "dependencies": { + "bcrypto": "~5.4.0", + "bsert": "~0.0.12", + "bufio": "~1.2.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/bcfg": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/bcfg/-/bcfg-0.2.2.tgz", + "integrity": "sha512-xa7hYK8ZgEV/Wjh+EJiKLLd+h8A0HGyhyntNMvKCeXIGepLqKUL3KYOE5zFz8EBv8sS3XruD5YPmYIjtwFOrZA==", + "license": "MIT", + "dependencies": { + "bsert": "~0.0.12" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/bcrypto": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/bcrypto/-/bcrypto-5.4.0.tgz", + "integrity": "sha512-KDX2CR29o6ZoqpQndcCxFZAtYA1jDMnXU3jmCfzP44g++Cu7AHHtZN/JbrN/MXAg9SLvtQ8XISG+eVD9zH1+Jg==", + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "bufio": "~1.0.7", + "loady": "~0.0.5" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/bcrypto/node_modules/bufio": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/bufio/-/bufio-1.0.7.tgz", + "integrity": "sha512-bd1dDQhiC+bEbEfg56IdBv7faWa6OipMs/AFFFvtFnB3wAYjlwQpQRZ0pm6ZkgtfL0pILRXhKxOiQj6UzoMR7A==", + "license": "MIT", + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/bcurl": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/bcurl/-/bcurl-0.2.1.tgz", + "integrity": "sha512-7L00pT9SQEDzRIsRn53Il5pYHkeFlIoH0SdNIAbXdqsUMnq4IteTRuSZwC2f/uUKiRE5oW40MBhW72mquO9sQg==", + "license": "MIT", + "dependencies": { + "brq": "~0.1.10", + "bsert": "~0.0.12", + "bsock": "~0.1.10" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/bdb": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/bdb/-/bdb-1.6.2.tgz", + "integrity": "sha512-3PxLeNKqwdqMjc/Ox5hontemGFt/AXGQsrEHFA0bynISfqhYI8r1qQNtJHEMonD6kcvkejfLA/5ad3n813kmdw==", + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "bsert": "~0.0.13", + "loady": "~0.0.5" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/bdns": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/bdns/-/bdns-0.1.5.tgz", + "integrity": "sha512-LNVkfM7ynlAD0CvPvO9cKxW8YXt1KOCRQZlRsGZWeMyymUWVdHQpZudAzH9chaFAz6HiwAnQxwDemCKDPy6Mag==", + "license": "MIT", + "dependencies": { + "bsert": "~0.0.10" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/bevent": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/bevent/-/bevent-0.1.6.tgz", + "integrity": "sha512-vu1MYZIbZhz8s4/QDuqJ06L8BloELnMJxf/bGfp5ifqNpKpdCvgDw3ymsyzu27JJinDiGvx775V5NnTmWR7tFA==", + "license": "MIT", + "dependencies": { + "bsert": "~0.0.12" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/bfile": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/bfile/-/bfile-0.2.3.tgz", + "integrity": "sha512-BhbmCLqDC+u8rPSeB/I8bRC8luQoUt+wD326CECXYXtE5GyTWL/q/OkNp58aH7XEREguEItvqM18s9vXLvg6fw==", + "license": "MIT", + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/bheep": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/bheep/-/bheep-0.1.6.tgz", + "integrity": "sha512-u44Xgb0Rr+Y/1chKqiUSY44mpBCglDxnapyfA6mssbJE+C7iyAPY4r8WMPqmdvZPYk7EU3ogbt4pKDItDMU87A==", + "license": "MIT", + "dependencies": { + "bsert": "~0.0.12" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/binet": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/binet/-/binet-0.3.9.tgz", + "integrity": "sha512-htptPuT5YTTRThIQAuWyCo+rIvXwAC+CrUq40ldhKHBPbZoMb76SBkI8NtvLkWussJr+lnR5Mc0rh1dpNBrBPg==", + "license": "MIT", + "dependencies": { + "bs32": "~0.1.7", + "bsert": "~0.0.12" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/blgr": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/blgr/-/blgr-0.2.1.tgz", + "integrity": "sha512-ShNWkj8qxjf0JEwDt1h675Lgx9EV8a2lRWVWtZrptqg/tIrISv0TM7s+NVNXEwyIlQYYIu4lQqjlGRYWUn4g5Q==", + "license": "MIT", + "dependencies": { + "bsert": "~0.0.12" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/blru": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/blru/-/blru-0.1.8.tgz", + "integrity": "sha512-9KsgRzBHx4GOJ48bRy0IZf42+f3nAhgAeeuWX5KBditHVqnCFL0ownd1QRr0aJVot7qlKEUYGPfM/tGHW6A3zw==", + "license": "MIT", + "dependencies": { + "bsert": "~0.0.12" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/blst": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/blst/-/blst-0.1.6.tgz", + "integrity": "sha512-P88SBVTdjKsvltTGXPayu9ACSZ36CNpECE8eZjPg+Mj++EB/VHOFUAnVIZ142NceSWYkVMBKiVENH49YHKHjFg==", + "license": "MIT", + "dependencies": { + "bsert": "~0.0.12" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/bmutex": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/bmutex/-/bmutex-0.1.8.tgz", + "integrity": "sha512-NEI6oawCTA9hobAIubvpooRkq7hp+dBg0hf1KUJ3uV77PrXlUgLXr6D/mr6+sfJ0hx523lDaz/vEcJIbK9S1uw==", + "license": "MIT", + "dependencies": { + "bsert": "~0.0.13" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/bns": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/bns/-/bns-0.15.0.tgz", + "integrity": "sha512-iJWQVE399vQzPfhalFMJGEQ7k5Ot2D6Mz8dkoPeLO8huWAMOiJNJ1tHzOu5j+ZyNNew6ITgG/LsSyaRPxvkXuw==", + "license": "MIT", + "dependencies": { + "bcrypto": "~5.4.0", + "bfile": "~0.2.2", + "bheep": "~0.1.5", + "binet": "~0.3.6", + "bs32": "~0.1.6", + "bsert": "~0.0.10", + "btcp": "~0.1.5", + "budp": "~0.1.6", + "bufio": "~1.0.7" + }, + "bin": { + "bns-keygen": "bin/bns-keygen", + "bns-prove": "bin/bns-prove", + "dig.js": "bin/dig.js", + "dig2json": "bin/dig2json", + "json2dig": "bin/json2dig", + "json2rr": "bin/json2rr", + "json2zone": "bin/json2zone", + "named.js": "bin/named.js", + "rr2json": "bin/rr2json", + "whois.js": "bin/whois.js", + "zone2json": "bin/zone2json" + }, + "engines": { + "node": ">=8.0.0" + }, + "optionalDependencies": { + "unbound": "~0.4.3" + } + }, + "node_modules/bns/node_modules/bufio": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/bufio/-/bufio-1.0.7.tgz", + "integrity": "sha512-bd1dDQhiC+bEbEfg56IdBv7faWa6OipMs/AFFFvtFnB3wAYjlwQpQRZ0pm6ZkgtfL0pILRXhKxOiQj6UzoMR7A==", + "license": "MIT", + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/brq": { + "version": "0.1.10", + "resolved": "https://registry.npmjs.org/brq/-/brq-0.1.10.tgz", + "integrity": "sha512-iil4TtQWw9Wb2G+mEP0iHqM8Q16mHINJzR5wHTsfKZTtcOVoEGj6yX3ed7yLQ92KR4QO9KjlrlO7/Y7766i7Tw==", + "license": "MIT", + "dependencies": { + "bsert": "~0.0.12" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/bs32": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/bs32/-/bs32-0.1.7.tgz", + "integrity": "sha512-I0aKZCBneFTkcVNUIALzsOevqPIF93ynGPX6wj6pXmIBpXVGCqTgdvMx2QyR/NwgOIqMLH++Ovyum28abVG6QA==", + "license": "MIT", + "dependencies": { + "bsert": "~0.0.10" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/bsert": { + "version": "0.0.13", + "resolved": "https://registry.npmjs.org/bsert/-/bsert-0.0.13.tgz", + "integrity": "sha512-gYzSj8I2lDTKvl4aRSYs2CZIpeJugq7RjGhLRG+Jl//gEW5B2u1MKB6exVCL09FqYj6JRQAAgRwQHMOWvr7A8A==", + "license": "MIT", + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/bsock": { + "version": "0.1.11", + "resolved": "https://registry.npmjs.org/bsock/-/bsock-0.1.11.tgz", + "integrity": "sha512-4COhlKKBfOQOomNvz1hjoPtN5ytpqbxkuCPvIPbYMvaZwNBKpo8dZa1LJjcN3wuAkjIIJLF/fc4o3e1DYiceQw==", + "license": "MIT", + "dependencies": { + "bsert": "~0.0.12" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/bsocks": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/bsocks/-/bsocks-0.2.6.tgz", + "integrity": "sha512-66UkjoB9f7lhT+WKgYq8MQa6nkr96mlX64JYMlIsXe/X4VeqNwvsx7UOE3ZqD6lkwg8GvBhapRTWj0qWO3Pw8w==", + "license": "MIT", + "dependencies": { + "binet": "~0.3.5", + "bsert": "~0.0.10" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/btcp": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/btcp/-/btcp-0.1.5.tgz", + "integrity": "sha512-tkrtMDxeJorn5p0KxaLXELneT8AbfZMpOFeoKYZ5qCCMMSluNuwut7pGccLC5YOJqmuk0DR774vNVQLC9sNq/A==", + "license": "MIT", + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/budp": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/budp/-/budp-0.1.6.tgz", + "integrity": "sha512-o+a8NPq3DhV91j4nInjht2md6mbU1XL+7ciPltP66rw5uD3KP1m5r8lA94LZVaPKcFdJ0l2HVVzRNxnY26Pefg==", + "license": "MIT", + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/buffer-map": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/buffer-map/-/buffer-map-0.0.8.tgz", + "integrity": "sha512-RlxrBAk98CqJdwSPgXOWYbC85xuq4H4vyGmW68BJ9IAGkCHQKC+flavb+d3LGxiDluczbTG8NhgKBRllpFGurA==", + "license": "MIT", + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/bufio": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/bufio/-/bufio-1.2.3.tgz", + "integrity": "sha512-5Tt66bRzYUSlVZatc0E92uDenreJ+DpTBmSAUwL4VSxJn3e6cUyYwx+PoqML0GRZatgA/VX8ybhxItF8InZgqA==", + "license": "MIT", + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/bupnp": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/bupnp/-/bupnp-0.2.6.tgz", + "integrity": "sha512-J6ykzJhZMxXKN78K+1NzFi3v/51X2Mvzp2hW42BWwmxIVfau6PaN99gyABZ8x05e8MObWbsAis23gShhj9qpbw==", + "license": "MIT", + "dependencies": { + "binet": "~0.3.5", + "brq": "~0.1.7", + "bsert": "~0.0.10" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/bval": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/bval/-/bval-0.1.8.tgz", + "integrity": "sha512-38WQyq94sgKaJbHSmkOwZqba6Ac0KIKPO0SMDNg/mCcwUos2NIrMg5Bb2LkzIer+RzS186IYusNeSrJrKdaqhA==", + "license": "MIT", + "dependencies": { + "bsert": "~0.0.10" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/bweb": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/bweb/-/bweb-0.2.0.tgz", + "integrity": "sha512-JfpXemYqylNySwrhR7b4HZTrxnDhbOzNiIXCPBVQU6O8rTZ1wFDLFDr/7uQqkwzjyNZ4ZWTp5wP/pJY2IizfDA==", + "license": "MIT", + "dependencies": { + "bsert": "~0.0.10", + "bsock": "~0.1.9" + }, + "bin": { + "bweb": "bin/bweb" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/goosig": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/goosig/-/goosig-0.10.0.tgz", + "integrity": "sha512-+BVVLfxmawAmGVjjJpXzu5LNcFIOfgXgP7kWEyc3qu/xn9RMqbPbNfYDdHBZKfZkDMIO7Q4vD790iNYQAXhoFA==", + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "bcrypto": "~5.4.0", + "bsert": "~0.0.10", + "loady": "~0.0.5" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/hsd": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/hsd/-/hsd-7.0.1.tgz", + "integrity": "sha512-5zju8h08RYENrmFZ5jBsclGt3VC5mH3s/TmNHNtc/EwuOaYnydyY+BfSiNPIaEsBsKVWgcXkb+8btigoB7CGbQ==", + "license": "MIT", + "dependencies": { + "@handshake-org/bfilter": "~2.3.0", + "bcfg": "~0.2.2", + "bcrypto": "~5.4.0", + "bcurl": "~0.2.1", + "bdb": "~1.6.1", + "bdns": "~0.1.5", + "bevent": "~0.1.6", + "bfile": "~0.2.3", + "bheep": "~0.1.6", + "binet": "~0.3.9", + "blgr": "~0.2.1", + "blru": "~0.1.8", + "blst": "~0.1.6", + "bmutex": "~0.1.7", + "bns": "~0.15.0", + "bsert": "~0.0.13", + "bsock": "~0.1.11", + "bsocks": "~0.2.6", + "btcp": "~0.1.5", + "buffer-map": "~0.0.8", + "bufio": "~1.2.2", + "bupnp": "~0.2.6", + "bval": "~0.1.8", + "bweb": "~0.2.0", + "goosig": "~0.10.0", + "n64": "~0.2.10", + "urkel": "~1.0.3" + }, + "bin": { + "hs-seeder": "bin/hs-seeder", + "hs-wallet": "bin/hsw", + "hsd": "bin/hsd", + "hsd-cli": "bin/hsd-cli", + "hsd-node": "bin/node", + "hsd-rpc": "bin/hsd-rpc", + "hsd-spvnode": "bin/spvnode", + "hsw-cli": "bin/hsw-cli", + "hsw-rpc": "bin/hsw-rpc" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/loady": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/loady/-/loady-0.0.5.tgz", + "integrity": "sha512-uxKD2HIj042/HBx77NBcmEPsD+hxCgAtjEWlYNScuUjIsh/62Uyu39GOR68TBR68v+jqDL9zfftCWoUo4y03sQ==", + "license": "MIT", + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/n64": { + "version": "0.2.10", + "resolved": "https://registry.npmjs.org/n64/-/n64-0.2.10.tgz", + "integrity": "sha512-uH9geV4+roR1tohsrrqSOLCJ9Mh1iFcDI+9vUuydDlDxUS1UCAWUfuGb06p3dj3flzywquJNrGsQ7lHP8+4RVQ==", + "license": "MIT", + "engines": { + "node": ">=2.0.0" + } + }, + "node_modules/unbound": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/unbound/-/unbound-0.4.3.tgz", + "integrity": "sha512-2ISqZLXtzp1l9f1V8Yr6S+zuhXxEwE1CjKHjXULFDHJcfhc9Gm3mn19hdPp4rlNGEdCivKYGKjYe3WRGnafYdA==", + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "dependencies": { + "loady": "~0.0.5" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/urkel": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/urkel/-/urkel-1.0.3.tgz", + "integrity": "sha512-L2M46WWSaz1LpyUYFgnQg7WSOWtNcRx3uH+4GwHK1jbmYj6phLuIwirTVMlhfcZ0o/CWn5Y04UWLhmlvijZiDg==", + "license": "MIT", + "dependencies": { + "bfile": "~0.2.1", + "bmutex": "~0.1.6", + "bsert": "~0.0.10" + }, + "engines": { + "node": ">=8.0.0" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..e97e958 --- /dev/null +++ b/package.json @@ -0,0 +1,17 @@ +{ + "name": "hns-address", + "version": "1.0.0", + "description": "Find and generate HNS addresses", + "main": "find-address.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1", + "generate": "node generate-address.js" + }, + "keywords": [], + "author": "Nathan.Woodburn/", + "license": "AGPL-3.0", + "dependencies": { + "hsd": "^7.0.1", + "minimist": "^1.2.8" + } +}