首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >BitCore中分层密钥的node.js钱包导入格式

BitCore中分层密钥的node.js钱包导入格式
EN

Stack Overflow用户
提问于 2014-08-28 18:52:20
回答 1查看 591关注 0票数 1

我正在尝试从扩展的私有密钥生成WIF,但是我得到了无效的WIF。

WIF应该是什么样子:https://bitcoin.org/en/developer-guide#wallet-import-format-wif

我已经按照上面链接中的说明获得了以下代码:

代码语言:javascript
复制
 var crypto = require('crypto');
  var bitcore = require('bitcore');
  var HierarchicalKey = bitcore.HierarchicalKey;
  var Address = bitcore.Address;
  var networks = bitcore.networks;
  var coinUtil = bitcore.util;

    var knownBytes = coinUtil.sha256('testing');
    var hkey = HierarchicalKey.seed(knownBytes,'testnet');

    var key = new Buffer(hkey.derive('m/0\'/0/0').extendedPrivateKey);
    var hash = new Buffer ([0xef].concat(key).concat([1]));

    var hashses = doubleSHA256(hash);
    var checksum = hashses.slice(0, 4);
    var data = Buffer.concat([hash, checksum]);
    var ress = bitcore.base58.encode(data);
    console.log(ress);

    function sha256(data) {
    return new Buffer(crypto.createHash('sha256').update(data).digest('binary'), 'binary');
    };
    function doubleSHA256(data) {
    return sha256(sha256(data));
    };

我怀疑在某个地方存在转换错误。

编辑:我自己想出来了。稍后将发布解决方案。

EN

回答 1

Stack Overflow用户

发布于 2014-10-02 10:41:38

我在WalletKey.js代码中找到了这个问题的答案:

代码语言:javascript
复制
var bitcore = require('bitcore');
var HierarchicalKey = bitcore.HierarchicalKey;
var Address = bitcore.Address;
var networks = bitcore.networks;
var coinUtil = bitcore.util;

var knownBytes = coinUtil.sha256('testing');
var hkey = HierarchicalKey.seed(knownBytes,'testnet');

var derived = hkey.derive('m/0\'/0/0');
var priv = new bitcore.PrivateKey(networks.testnet.privKeyVersion, derived.eckey.private, derived.eckey.compressed);
var wif = priv.toString();
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25547037

复制
相关文章

相似问题

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