摘要:獲取密鑰對(duì)應(yīng)助記詞目前還沒(méi)有從密鑰導(dǎo)出助記詞的功能,現(xiàn)有只是在創(chuàng)建密鑰時(shí)有助記詞相應(yīng)輸出信息。中也能見(jiàn)到我們恢復(fù)的密鑰。
比原項(xiàng)目倉(cāng)庫(kù):
Github地址:https://github.com/Bytom/bytom
Gitee地址:https://gitee.com/BytomBlockc...
背景知識(shí)Bytom 使用的 密鑰類型為基于 ed25519 的 chainkd.XPub
代碼見(jiàn) bytom/crypto/ed25519/chainkd
文檔見(jiàn) https://chain.com/docs/1.2/pr...`
預(yù)備 代碼修改首先適當(dāng)修改代碼,添加一些打印輸出,使得我們更好的進(jìn)行驗(yàn)證。 如果只是想看 xpub ,而不關(guān)心 xprv(對(duì)于驗(yàn)證導(dǎo)入導(dǎo)出助記詞功能來(lái)說(shuō)已經(jīng)夠了)的話可以跳過(guò)這一步,不必修改源碼 。
在 bytom/blockchain/pseudohsm/pseudohsm.go 中的
func (h *HSM) createKeyFromMnemonic(alias string, auth string, mnemonic string) (*XPub, error)
添加輸出打印 root XPub 對(duì)應(yīng)的 私鑰 和 公鑰
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 }工具準(zhǔn)備
因?yàn)?bytomd 目前 dashboard 錢(qián)包圖形界面還沒(méi)有助記詞相關(guān)功能,我們需要準(zhǔn)備工具使用 POST 請(qǐng)求來(lái)使用。比如 curl 或者 postman 。
獲取密鑰對(duì)應(yīng)助記詞dashboard 目前還沒(méi)有 從 密鑰導(dǎo)出助記詞的功能,現(xiàn)有只是在創(chuàng)建密鑰時(shí)有助記詞相應(yīng)輸出信息。可以修改源碼在查看密鑰時(shí) 打印對(duì)應(yīng)助記詞。
因?yàn)橹皇菧y(cè)試,這里為了方便,直接查看在創(chuàng)建密鑰時(shí)返回的助記詞。
對(duì) bytomd 發(fā)起 post 請(qǐng)求 /create-key
{ "alias": "create_key_test", "password": "createkeytest", "language": "en" }
可以看到 響應(yīng)中 顯示了 xpub 和 助記詞
由于修改了源碼,添加了打印信息,bytomd 命令行也打印出了相印的 xprv 和 xpub
步驟如何通過(guò)導(dǎo)入助記詞恢復(fù)密鑰呢?
假設(shè)目前 已經(jīng)有一個(gè) xprv
50db5bfe21b08462972eadbce08ec92d078a45fa7a280d175a823f9e457faf447d1f501b69f895b830138fabc6f91e2b3b3c8df26642a34be4af27886b9134dc
對(duì)應(yīng)的 助記詞為
pudding room business river pattern box snap merit unfold speak hat task
發(fā)起 post 請(qǐng)求 /create-key
{ "alias": "nnemonic_test", "password": "nnemonicnnemonic", "nnemonic": "pudding room business river pattern box snap merit unfold speak hat task", "language": "en" }
返回相應(yīng):
bytomd 輸出
可以看到,恢復(fù)出來(lái)的 xprv 和 我們本來(lái)的 xprv 一致,驗(yàn)證成功。
dashaboard 中也能見(jiàn)到我們恢復(fù)的 密鑰。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/24328.html
摘要:本文首發(fā)于深入淺出區(qū)塊鏈社區(qū)原文鏈接理解開(kāi)發(fā)錢(qián)包涉及的原文已更新,請(qǐng)讀者前往原文閱讀如果你還在被錢(qián)包搞的一頭霧水,來(lái)看看這邊文章吧。所以我們要開(kāi)發(fā)以太坊錢(qián)包同樣需要對(duì)比特幣的錢(qián)包提案有所了解。 本文首發(fā)于深入淺出區(qū)塊鏈社區(qū)原文鏈接:理解開(kāi)發(fā)HD錢(qián)包涉及的BIP32、BIP44、BIP39原文已更新,請(qǐng)讀者前往原文閱讀 如果你還在被HD錢(qián)包、BIP32、BIP44、BIP39搞的一頭霧水...
摘要:本文首發(fā)于深入淺出區(qū)塊鏈社區(qū)原文鏈接理解開(kāi)發(fā)錢(qián)包涉及的原文已更新,請(qǐng)讀者前往原文閱讀如果你還在被錢(qián)包搞的一頭霧水,來(lái)看看這邊文章吧。所以我們要開(kāi)發(fā)以太坊錢(qián)包同樣需要對(duì)比特幣的錢(qián)包提案有所了解。 本文首發(fā)于深入淺出區(qū)塊鏈社區(qū)原文鏈接:理解開(kāi)發(fā)HD錢(qián)包涉及的BIP32、BIP44、BIP39原文已更新,請(qǐng)讀者前往原文閱讀 如果你還在被HD錢(qián)包、BIP32、BIP44、BIP39搞的一頭霧水...
摘要:錢(qián)包概述中文可以翻譯為分層錢(qián)包,錢(qián)包可以在不需要私鑰情況下運(yùn)用橢圓曲線算法生成大量公鑰。概念是由提出,解決難以抄寫(xiě)記憶問(wèn)題,規(guī)范各個(gè)幣種路徑規(guī)范達(dá)成業(yè)界共識(shí)。這個(gè)規(guī)范的目的是設(shè)定一個(gè)分層錢(qián)包標(biāo)準(zhǔn),能在不通客戶之間交換。 前序:相信各位區(qū)塊鏈大佬,對(duì)公鑰和私鑰概念已經(jīng)爛熟于心,對(duì)私鑰重要性也諱莫如深。私鑰可以給交易簽名,有了私鑰就有了全部權(quán)限,但原始私鑰沒(méi)什么規(guī)律可循,特別不放記憶轉(zhuǎn)移,...
摘要:錢(qián)包功能一個(gè)錢(qián)包通常主要包含的功能有賬號(hào)管理主要是私鑰的管理創(chuàng)建賬號(hào)賬號(hào)導(dǎo)入導(dǎo)出賬號(hào)信息展示如以太幣余額代幣余額。 本文首發(fā)于深入淺出區(qū)塊鏈社區(qū)原文鏈接:[使用 ethers.js 開(kāi)發(fā)以太坊 Web 錢(qián)包 1 - 創(chuàng)建錢(qián)包賬號(hào))](https://learnblockchain.cn/20...,請(qǐng)讀者前往原文閱讀 以太坊去中心化網(wǎng)頁(yè)錢(qián)包開(kāi)發(fā)系列,將從零開(kāi)始開(kāi)發(fā)出一個(gè)可以實(shí)際使用的錢(qián)...
摘要:目前,新網(wǎng)頁(yè)錢(qián)包的設(shè)計(jì)工作已基本完成,目前已設(shè)計(jì)個(gè)頁(yè)面,隨后的幾天將向社區(qū)征集建議。目前的設(shè)計(jì),不包括正在同步開(kāi)發(fā)的賽事眾籌功能,等主網(wǎng)賽事眾籌功能上線以后,將進(jìn)行相應(yīng)前端的開(kāi)發(fā)。 目前,SEER新網(wǎng)頁(yè)錢(qián)包的UI設(shè)計(jì)工作已基本完成,目前已設(shè)計(jì)96個(gè)頁(yè)面,隨后的幾天將向社區(qū)征集建議。 https://org.modao.cc/app/2da4... 目前的UI設(shè)計(jì),不包括正在同步開(kāi)發(fā)的賽...
閱讀 1773·2021-11-11 16:55
閱讀 2575·2021-08-27 13:11
閱讀 3632·2019-08-30 15:53
閱讀 2307·2019-08-30 15:44
閱讀 1396·2019-08-30 11:20
閱讀 1045·2019-08-30 10:55
閱讀 950·2019-08-29 18:40
閱讀 3042·2019-08-29 16:13