BitCore 中分层 key 的 node.js 钱包导入格式 (WIF)

标签 node.js bitcoin elliptic-curve

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

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

我已按照上面链接中的说明进行操作并获得了以下代码:

 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));
    };

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

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

最佳答案

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

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();

关于BitCore 中分层 key 的 node.js 钱包导入格式 (WIF),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25547037/

相关文章:

c++ - 在fedora 21上使用自编译的OpenSSL编译bitcoin

cryptography - Microsoft PlayReady DRM P160 椭圆曲线参数

c - 如何使用 OpenSSL 生成 ECDHE 公钥?

php - OKEX提现错误10006

node.js - 如何处理 "parallel"中的队列以保持进程饱和?

node.js - Mongoose - CastError : 'Cast to undefined failed for value "[object Object ]"at path "trainers"

javascript - 异步函数抛出错误: socket hang up

paypal - Coinbase 重定向和回调 URL 设置

matlab - Matlab 的 Mod 函数返回 0

node.js - node.js 应用程序中的 openlayers-3?