qos-qweb
Version:
qos js sdk
30 lines • 2.36 kB
JavaScript
;
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