摘要:獲取密鑰對應助記詞目前還沒有從密鑰導出助記詞的功能,現有只是在創建密鑰時有助記詞相應輸出信息。中也能見到我們恢復的密鑰。
比原項目倉庫:
Github地址:https://github.com/Bytom/bytom
Gitee地址:https://gitee.com/BytomBlockc...
背景知識Bytom 使用的 密鑰類型為基于 ed25519 的 chainkd.XPub
代碼見 bytom/crypto/ed25519/chainkd
文檔見 https://chain.com/docs/1.2/pr...`
預備 代碼修改首先適當修改代碼,添加一些打印輸出,使得我們更好的進行驗證。 如果只是想看 xpub ,而不關心 xprv(對于驗證導入導出助記詞功能來說已經夠了)的話可以跳過這一步,不必修改源碼 。
在 bytom/blockchain/pseudohsm/pseudohsm.go 中的
func (h *HSM) createKeyFromMnemonic(alias string, auth string, mnemonic string) (*XPub, error)
添加輸出打印 root XPub 對應的 私鑰 和 公鑰
func (h *HSM) createKeyFromMnemonic(alias string, auth string, mnemonic string) (*XPub, error) { // Generate a Bip32 HD wallet for the mnemonic and a user supplied password seed := mnem.NewSeed(mnemonic, "") xprv, xpub, err := chainkd.NewXKeys(bytes.NewBuffer(seed)) if err != nil { return nil, err } fmt.Println(hex.EncodeToString(xprv[:])) // Add info printing fmt.Println(hex.EncodeToString(xpub[:])) // Add info printing id := uuid.NewRandom() key := &XKey{ ID: id, KeyType: "bytom_kd", XPub: xpub, XPrv: xprv, Alias: alias, } file := h.keyStore.JoinPath(keyFileName(key.ID.String())) if err := h.keyStore.StoreKey(file, key, auth); err != nil { return nil, errors.Wrap(err, "storing keys") } return &XPub{XPub: xpub, Alias: alias, File: file}, nil }工具準備
因為 bytomd 目前 dashboard 錢包圖形界面還沒有助記詞相關功能,我們需要準備工具使用 POST 請求來使用。比如 curl 或者 postman 。
獲取密鑰對應助記詞dashboard 目前還沒有 從 密鑰導出助記詞的功能,現有只是在創建密鑰時有助記詞相應輸出信息。可以修改源碼在查看密鑰時 打印對應助記詞。
因為只是測試,這里為了方便,直接查看在創建密鑰時返回的助記詞。
對 bytomd 發起 post 請求 /create-key
{ "alias": "create_key_test", "password": "createkeytest", "language": "en" }
可以看到 響應中 顯示了 xpub 和 助記詞
由于修改了源碼,添加了打印信息,bytomd 命令行也打印出了相印的 xprv 和 xpub
步驟如何通過導入助記詞恢復密鑰呢?
假設目前 已經有一個 xprv
50db5bfe21b08462972eadbce08ec92d078a45fa7a280d175a823f9e457faf447d1f501b69f895b830138fabc6f91e2b3b3c8df26642a34be4af27886b9134dc
對應的 助記詞為
pudding room business river pattern box snap merit unfold speak hat task
發起 post 請求 /create-key
{ "alias": "nnemonic_test", "password": "nnemonicnnemonic", "nnemonic": "pudding room business river pattern box snap merit unfold speak hat task", "language": "en" }
返回相應:
bytomd 輸出
可以看到,恢復出來的 xprv 和 我們本來的 xprv 一致,驗證成功。
dashaboard 中也能見到我們恢復的 密鑰。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/24328.html
摘要:本文首發于深入淺出區塊鏈社區原文鏈接理解開發錢包涉及的原文已更新,請讀者前往原文閱讀如果你還在被錢包搞的一頭霧水,來看看這邊文章吧。所以我們要開發以太坊錢包同樣需要對比特幣的錢包提案有所了解。 本文首發于深入淺出區塊鏈社區原文鏈接:理解開發HD錢包涉及的BIP32、BIP44、BIP39原文已更新,請讀者前往原文閱讀 如果你還在被HD錢包、BIP32、BIP44、BIP39搞的一頭霧水...
摘要:本文首發于深入淺出區塊鏈社區原文鏈接理解開發錢包涉及的原文已更新,請讀者前往原文閱讀如果你還在被錢包搞的一頭霧水,來看看這邊文章吧。所以我們要開發以太坊錢包同樣需要對比特幣的錢包提案有所了解。 本文首發于深入淺出區塊鏈社區原文鏈接:理解開發HD錢包涉及的BIP32、BIP44、BIP39原文已更新,請讀者前往原文閱讀 如果你還在被HD錢包、BIP32、BIP44、BIP39搞的一頭霧水...
摘要:錢包概述中文可以翻譯為分層錢包,錢包可以在不需要私鑰情況下運用橢圓曲線算法生成大量公鑰。概念是由提出,解決難以抄寫記憶問題,規范各個幣種路徑規范達成業界共識。這個規范的目的是設定一個分層錢包標準,能在不通客戶之間交換。 前序:相信各位區塊鏈大佬,對公鑰和私鑰概念已經爛熟于心,對私鑰重要性也諱莫如深。私鑰可以給交易簽名,有了私鑰就有了全部權限,但原始私鑰沒什么規律可循,特別不放記憶轉移,...
摘要:錢包功能一個錢包通常主要包含的功能有賬號管理主要是私鑰的管理創建賬號賬號導入導出賬號信息展示如以太幣余額代幣余額。 本文首發于深入淺出區塊鏈社區原文鏈接:[使用 ethers.js 開發以太坊 Web 錢包 1 - 創建錢包賬號)](https://learnblockchain.cn/20...,請讀者前往原文閱讀 以太坊去中心化網頁錢包開發系列,將從零開始開發出一個可以實際使用的錢...
摘要:目前,新網頁錢包的設計工作已基本完成,目前已設計個頁面,隨后的幾天將向社區征集建議。目前的設計,不包括正在同步開發的賽事眾籌功能,等主網賽事眾籌功能上線以后,將進行相應前端的開發。 目前,SEER新網頁錢包的UI設計工作已基本完成,目前已設計96個頁面,隨后的幾天將向社區征集建議。 https://org.modao.cc/app/2da4... 目前的UI設計,不包括正在同步開發的賽...
閱讀 1770·2021-11-11 16:55
閱讀 2572·2021-08-27 13:11
閱讀 3631·2019-08-30 15:53
閱讀 2306·2019-08-30 15:44
閱讀 1394·2019-08-30 11:20
閱讀 1043·2019-08-30 10:55
閱讀 949·2019-08-29 18:40
閱讀 3038·2019-08-29 16:13