首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NBitcoin和Mnemonic标准

NBitcoin和Mnemonic标准
EN

Stack Overflow用户
提问于 2017-10-03 18:08:27
回答 1查看 748关注 0票数 0

我对比特币的开发非常陌生,所以请原谅我.

我正在使用NBitcoin在.Net控制台应用程序中使用助记符生成主键,然后导出层次键。下面是我使用的代码:

代码语言:javascript
复制
Mnemonic mnemo = new Mnemonic(Wordlist.English, WordCount.Twelve);
ExtKey hdroot = mnemo.DeriveExtKey();
var wif = hdroot.GetWif(Network.Main);
var defaultAddress = hdroot.Derive(new KeyPath("m/0/0"));

因此,下面是我得到的Mnemonic,以及使用"m/0/0"路径从主键派生的公共地址:

Mnemonic:干棕车游行激烈闪耀拥抱硬报告贷款折铁 路径: m/0/0/: 1 GcchMaHAN1XRQsoi8gPg8TShqzN4sNGVU

我测试了使用助记符重新创建我的密钥,并且总是能够在我的控制台应用程序中得到与预期相同的密钥。

出于好奇,我想看看是否可以将这个助记符导入到现有的钱包软件中,并获得相同的密钥。由于Exodus钱包使用了一个标准的12个单词的记忆,我启动它,并产生了我的钱包使用相同的助记符。然而,没有一个键匹配!我导出了我的公钥,并确保它是来自主服务器的"m/0/0“的相同路径。正如你所看到的,这是不匹配的:

使用相同的助记符:从Exodus导出公钥

Mnemonic:干棕车游行激烈闪耀拥抱硬报告贷款折铁 地址:1 266gxMCJiTcWk5MZFbfxxx4Ss3URN 路径: m/0/0

我还在Jaxx上测试了助记符,在Android上测试了Coinomi钱包,它得到了与Exodus相同的密钥。

所以我完全糊涂了。我唯一能想到的是,这些钱包使用的标准熵是我的实现中缺少的吗?

我的问题是,如何使用NBitcoin来创建像Exodus、Coinomi和Jaxx这样的钱包一样的助记符?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-10-10 00:05:20

1 1DMD由m/44'/0'/0'/0/0路径生成。

试试这个:

代码语言:javascript
复制
Mnemonic mnemo = new Mnemonic("dry brown drive parade drastic shine embrace hard report loan fold iron",Wordlist.English);
ExtKey hdroot = mnemo.DeriveExtKey();
var firstprivkey = hdroot.Derive(new KeyPath("m/44'/0'/0'/0/0"));
var firstpubKey = firstprivkey.Neuter().PubKey;
return firstpubKey.GetAddress(Network.Main).ToString();
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46550818

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档