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