91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Bytomd 助記詞恢復密鑰體驗指南

發布時間:2020-05-28 06:21:33 來源:網絡 閱讀:253 作者:比原鏈Bytom 欄目:編程語言

比原項目倉庫:

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

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

背景知識

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

  • 代碼見 bytom/crypto/ed25519/chainkd
  • 文檔見 https://chain.com/docs/1.2/protocol/specifications/chainkd`

預備

代碼修改

首先適當修改代碼,添加一些打印輸出,使得我們更好的進行驗證。 如果只是想看 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"
}

Bytomd 助記詞恢復密鑰體驗指南

可以看到 響應中 顯示了 xpub 和 助記詞

由于修改了源碼,添加了打印信息,bytomd 命令行也打印出了相印的 xprv 和 xpub

Bytomd 助記詞恢復密鑰體驗指南

步驟

如何通過導入助記詞恢復密鑰呢?

假設目前 已經有一個 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 助記詞恢復密鑰體驗指南

bytomd 輸出

Bytomd 助記詞恢復密鑰體驗指南

可以看到,恢復出來的 xprv 和 我們本來的 xprv 一致,驗證成功。

dashaboard 中也能見到我們恢復的 密鑰。

Bytomd 助記詞恢復密鑰體驗指南

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

纳雍县| 工布江达县| 普定县| 东光县| 宣化县| 阿克陶县| 柏乡县| 舟曲县| 武冈市| 海兴县| 察隅县| 白城市| 科技| 龙游县| 宜宾市| 巧家县| 盐山县| 河间市| 大安市| 砀山县| 安阳市| 慈利县| 和平县| 临桂县| 昭通市| 西华县| 招远市| 静乐县| 开远市| 玉山县| 高邑县| 岚皋县| 蓬莱市| 凌源市| 玛曲县| 扬州市| 刚察县| 图们市| 留坝县| 长葛市| 贵南县|