UNPKG

qos-qweb

Version:
30 lines 2.36 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const bech32_1 = __importDefault(require("bech32")); const bip39_1 = require("bip39"); const tweetnacl_1 = __importDefault(require("tweetnacl")); const utils_1 = require("./utils"); class SecretKey { generateMnemonic() { // 商 256,生成24个助记单词, 商 128,生成12个助记单词 const mnemonic = bip39_1.generateMnemonic(128); return mnemonic; } genarateKeyPair(mnemonic) { const hexSeed = bip39_1.mnemonicToSeedSync(mnemonic, 'qstars'); const secret = utils_1.getHash256(hexSeed); const keyPair = tweetnacl_1.default.sign.keyPair.fromSeed(new Uint8Array(secret)); return keyPair; } getAddress(publicKey) { const pkAarry = utils_1.getHash256(publicKey); const nw = bech32_1.default.toWords(Buffer.from(pkAarry.slice(0, 20))); const addr = bech32_1.default.encode('address', nw); return addr; } } exports.default = SecretKey; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VjcmV0S2V5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvcmUvU2VjcmV0S2V5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsb0RBQTRCO0FBQzVCLGlDQUE2RDtBQUM3RCwwREFBNkI7QUFDN0IsbUNBQXFDO0FBRXJDLE1BQXFCLFNBQVM7SUFDckIsZ0JBQWdCO1FBQ3JCLG1DQUFtQztRQUNuQyxNQUFNLFFBQVEsR0FBRyx3QkFBZ0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN2QyxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBRU0sZUFBZSxDQUFDLFFBQWdCO1FBQ3JDLE1BQU0sT0FBTyxHQUFHLDBCQUFrQixDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUN2RCxNQUFNLE1BQU0sR0FBRyxrQkFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ25DLE1BQU0sT0FBTyxHQUFHLG1CQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUNuRSxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDO0lBRU0sVUFBVSxDQUFDLFNBQXFCO1FBQ3JDLE1BQU0sT0FBTyxHQUFHLGtCQUFVLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDdEMsTUFBTSxFQUFFLEdBQUcsZ0JBQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDN0QsTUFBTSxJQUFJLEdBQUcsZ0JBQU0sQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzFDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztDQUNGO0FBcEJELDRCQW9CQyJ9