日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

HPB钱包助记词生成和备份

發布時間:2023/12/31 编程问答 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 HPB钱包助记词生成和备份 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

助記詞生成

1 BIP32, BIP39, BIP44

  • BIP32:定義 Hierarchical Deterministic wallet (簡稱 “HD Wallet”),是一個系統可以從單一個 seed 產生一樹狀結構儲存多組 keypairs(私鑰和公鑰)。好處是可以方便的備份、轉移到其他相容裝置(因為都只需要 seed),以及分層的權限控制等
  • BIP39:將 seed 用方便記憶和書寫的單字表示。一般由 12 個單詞組成,稱為 mnemonic code(phrase),中文稱為助記詞或助記碼。例如:

rose rocket invest real refuse margin festival danger anger border idle brown

  • BIP44:基于 BIP32 的系統,賦予樹狀結構中的各層特殊的意義。讓同一個 seed 可以支持多幣種、多帳戶等。各層定義如下:

m / purpose' / coin_type' / account' / change / address_index

其中的 purporse’ 固定是 44’,代表使用 BIP44。而 coin_type’ 用來表示不同幣種,例如 Bitcoin 就是 0’,Ethereum 是 60’。

2 助記詞生成

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得到明文私鑰

let seed = BIP39.seedFromMmemonics(mnemonic, language: BIP39Language.english)let privateKey = seed.sha256()

2.1 助記詞備份

擁有助記詞就可以掌控這個賬戶,因此助記詞生成后,要提醒用戶去備份助記詞。對于去中心化的APP,用戶備份后要從本地刪除,用戶備份之前可以加密存放在本地。

總結

以上是生活随笔為你收集整理的HPB钱包助记词生成和备份的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。