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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

HPB钱包助记词生成和备份

發(fā)布時(shí)間:2023/12/31 编程问答 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 HPB钱包助记词生成和备份 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

助記詞生成

1 BIP32, BIP39, BIP44

  • BIP32:定義 Hierarchical Deterministic wallet (簡(jiǎn)稱(chēng) “HD Wallet”),是一個(gè)系統(tǒng)可以從單一個(gè) seed 產(chǎn)生一樹(shù)狀結(jié)構(gòu)儲(chǔ)存多組 keypairs(私鑰和公鑰)。好處是可以方便的備份、轉(zhuǎn)移到其他相容裝置(因?yàn)槎贾恍枰?seed),以及分層的權(quán)限控制等
  • BIP39:將 seed 用方便記憶和書(shū)寫(xiě)的單字表示。一般由 12 個(gè)單詞組成,稱(chēng)為 mnemonic code(phrase),中文稱(chēng)為助記詞或助記碼。例如:

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

  • BIP44:基于 BIP32 的系統(tǒng),賦予樹(shù)狀結(jié)構(gòu)中的各層特殊的意義。讓同一個(gè) seed 可以支持多幣種、多帳戶(hù)等。各層定義如下:

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

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

2 助記詞生成

HPB Wallet目前使用的BIP39,將64位私鑰變化為12個(gè)單詞的形式便于記憶。

打開(kāi)BIP39.swift文件,可以通過(guò)調(diào)用下面方法,隨機(jī)生成一個(gè)助記詞:

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)}

可以根據(jù)助記詞去獲取seed,然后通過(guò)sha256得到明文私鑰

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

2.1 助記詞備份

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

總結(jié)

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

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。