Bytomd 助記詞恢復(fù)密鑰體驗(yàn)指南

比原項(xiàng)目倉(cāng)庫(kù):

Github地址:https://github.com/Bytom/bytom

Gitee地址:https://gitee.com/BytomBlockchain/bytom

背景知識(shí)

Bytom 使用的 密鑰類型為基于 ed25519chainkd.XPub

預(yù)備

代碼修改

首先適當(dāng)修改代碼丐巫,添加一些打印輸出穷蛹,使得我們更好的進(jìn)行驗(yàn)證。 如果只是想看 xpub ,而不關(guān)心 xprv(對(duì)于驗(yàn)證導(dǎo)入導(dǎo)出助記詞功能來說已經(jīng)夠了)的話可以跳過這一步场绿,不必修改源碼

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 錢包圖形界面還沒有助記詞相關(guān)功能,我們需要準(zhǔn)備工具使用 POST 請(qǐng)求來使用。比如 curl 或者 postman 豁遭。

獲取密鑰對(duì)應(yīng)助記詞

dashboard 目前還沒有 從 密鑰導(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

步驟

如何通過導(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ù)出來的 xprv 和 我們本來的 xprv 一致卡者,驗(yàn)證成功崇决。

dashaboard 中也能見到我們恢復(fù)的 密鑰。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市官边,隨后出現(xiàn)的幾起案子注簿,更是在濱河造成了極大的恐慌诡渴,老刑警劉巖妄辩,帶你破解...
    沈念sama閱讀 217,277評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異畔塔,居然都是意外死亡澈吨,警方通過查閱死者的電腦和手機(jī)谅辣,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蚣录,“玉大人萎河,你說我怎么就攤上這事玛歌≈ё樱” “怎么了值朋?”我有些...
    開封第一講書人閱讀 163,624評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)篙骡。 經(jīng)常有香客問我,道長(zhǎng)得湘,這世上最難降的妖魔是什么淘正? 我笑而不...
    開封第一講書人閱讀 58,356評(píng)論 1 293
  • 正文 為了忘掉前任述呐,我火速辦了婚禮乓搬,結(jié)果婚禮上激蹲,老公的妹妹穿的比我還像新娘学辱。我一直安慰自己,他們只是感情好着降,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,402評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著发侵,像睡著了一般交掏。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上盅弛,一...
    開封第一講書人閱讀 51,292評(píng)論 1 301
  • 那天叔锐,我揣著相機(jī)與錄音讨盒,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的邻储。 我是一名探鬼主播,決...
    沈念sama閱讀 40,135評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼淘钟,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼宦赠!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,992評(píng)論 0 275
  • 序言:老撾萬榮一對(duì)情侶失蹤妙色,失蹤者是張志新(化名)和其女友劉穎桅滋,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體身辨,經(jīng)...
    沈念sama閱讀 45,429評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡丐谋,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,636評(píng)論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了煌珊。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片号俐。...
    茶點(diǎn)故事閱讀 39,785評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖定庵,靈堂內(nèi)的尸體忽然破棺而出吏饿,到底是詐尸還是另有隱情,我是刑警寧澤蔬浙,帶...
    沈念sama閱讀 35,492評(píng)論 5 345
  • 正文 年R本政府宣布找岖,位于F島的核電站,受9級(jí)特大地震影響敛滋,放射性物質(zhì)發(fā)生泄漏许布。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,092評(píng)論 3 328
  • 文/蒙蒙 一绎晃、第九天 我趴在偏房一處隱蔽的房頂上張望蜜唾。 院中可真熱鬧,春花似錦庶艾、人聲如沸袁余。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)颖榜。三九已至,卻和暖如春煤裙,著一層夾襖步出監(jiān)牢的瞬間掩完,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工硼砰, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留且蓬,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,891評(píng)論 2 370
  • 正文 我出身青樓题翰,卻偏偏與公主長(zhǎng)得像恶阴,于是被迫代替她去往敵國(guó)和親诈胜。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,713評(píng)論 2 354