1 BIP32, BIP39, BIP44git
rose rocket invest real refuse margin festival danger anger border idle browngithub
m / purpose' / coin_type' / account' / change / address_index.swift
其中的 purporse’ 固定是 44’,表明使用 BIP44。而 coin_type’ 用来表示不一样币种,例如 Bitcoin 就是 0’,Ethereum 是 60’。segmentfault
2 助记词生成dom
HPB Wallet目前使用的BIP39,将64位私钥变化为12个单词的形式便于记忆。网站
打开BIP39.swift文件,能够经过调用下面方法,随机生成一个助记词:加密
static public func generateMnemonics(bitsOfEntropy: Int, language: BIP39Language = BIP39Language.english) throws -> String? { guard bitsOfEntropy >= 128 && bitsOfEntropy <= 256 && bitsOfEntropy % 32 == 0 else {return nil} guard let entropy = Data.randomBytes(length: bitsOfEntropy/8) else {throw AbstractKeystoreError.noEntropyError} return BIP39.generateMnemonicsFromEntropy(entropy: entropy, language: language) }
能够根据助记词去获取seed,而后经过sha256获得明文私钥。code
let seed = BIP39.seedFromMmemonics(mnemonic, language: BIP39Language.english) let privateKey = seed.sha256()
2.1 助记词备份开发
拥有助记词就能够掌控这个帐户,所以助记词生成后,要提醒用户去备份助记词。对于去中心化的APP,用户备份后要从本地删除,用户备份以前能够加密存放在本地。get
做者:感谢 HPB Wallet 开发团队整理供稿。
1.若是你想了解更多关于钱包的技术文章,请访问:
HPB-Wallet
2.若是你想了解更多关于HPB的技术信息,请访问咱们的GitHub WiKi:
HPB WiKi of GitHub
3.若是你想得到更多HPB信息,请关注咱们的官方网站:
HPB Website