首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用位核心资源管理器与位核心库(位核心)时出错

使用位核心资源管理器与位核心库(位核心)时出错
EN

Stack Overflow用户
提问于 2017-12-05 04:01:40
回答 4查看 1.6K关注 0票数 2

我试图使用位核心库生成比特币地址,并使用位核心资源管理器获取未使用的事务。要在这里生成地址,代码如下:

代码语言:javascript
复制
var bitcore = require('bitcore-lib');
var rand_buffer = bitcore.crypto.Random.getRandomBuffer(32);
var rand_number = bitcore.crypto.BN.fromBuffer(rand_buffer);
var privateKay = new bitcore.PrivateKey(rand_number);
var privateKeyWif = privateKay.toWIF();
var address = privateKay.toAddress('testnet');
console.log({
  rand_buffer:rand_buffer,
  rand_number_hex:rand_number,
  rand_number_dec:rand_number.toString(),
  privateKey:privateKay,
  privateKeyWif: privateKeyWif,
  address:address,
});

效果不错..。产出如下:

代码语言:javascript
复制
{ rand_buffer: <Buffer 55 8b 27 c4 51 87 97 17 9a 7d 1d 72 48 26 e5 83 95 74 5b 3b b1 b4 b5 b6 a7 1c df 9f 18 e6 97 2e>,
  rand_number_hex: <BN: 558b27c4518797179a7d1d724826e58395745b3bb1b4b5b6a71cdf9f18e6972e>,
  rand_number_dec: '38692458332424984226826540178179935156087120588336482991409403810055901845294',
  privateKey: <PrivateKey: 558b27c4518797179a7d1d724826e58395745b3bb1b4b5b6a71cdf9f18e6972e, network: livenet>,
  privateKeyWif: 'Kz5zkBwfiYNkyswsKjot4wWmxHWUZdVMmxf65Z5wLk29ufhxnnQT',
  address: <Address: msTDjA4PmyePSWx2VcaQWoWoQ7gWzU2Kqx, type: pubkeyhash, network: testnet> }

在对生成的地址进行任何事务处理之后,我需要使用位核心探测器,所以我需要位核心探测器,下面是代码:

代码语言:javascript
复制
var Insight = require('bitcore-explorers').Insight;
var insight = new Insight('testnet');
insight.getUnspentUtxos(address1,(error,utxos)=>{
  if(error) return console.log(error);
  console.log(utxos)
});

问题是,当我需要bitcore-探索者时,它会给我以下错误:

代码语言:javascript
复制
D:\RAHEEL\Projects\gateway\node_modules\bitcore-explorers\node_modules\bitcore-lib\index.js:12
    throw new Error(message);
    ^

Error: More than one instance of bitcore-lib found. Please make sure to require bitcore-lib and check that submodules do not
also include their own bitcore-lib dependency.
    at Object.bitcore.versionGuard (D:\RAHEEL\Projects\gateway\node_modules\bitcore-explorers\node_modules\bitcore-lib\index.
js:12:11)
    at Object.<anonymous> (D:\RAHEEL\Projects\gateway\node_modules\bitcore-explorers\node_modules\bitcore-lib\index.js:15:9)
    at Module._compile (module.js:570:32)
    at Object.Module._extensions..js (module.js:579:10)
    at Module.load (module.js:487:32)
    at tryModuleLoad (module.js:446:12)
    at Function.Module._load (module.js:438:3)
    at Module.require (module.js:497:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (D:\RAHEEL\Projects\gateway\node_modules\bitcore-explorers\lib\models\addressinfo.js:3:15)
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2018-12-17 11:15:34

是的,在这个时候,这似乎仍然在进行(并且有争议)。它已在Github中多次提出。

我遇到了同样的问题,尽管需求略有不同:我使用的是bitocore-p2p npm包;该软件包目前在1.1.2版本,需要将bitcore-lib版本0.14.0作为依赖项。

我宁愿不修补bitcore-p2p/node_modules/bitcore-lib/index.js (这里和github位核心问题的另一个答案)。相反,在我的项目的package.json中,我维护一个bitocore-p2p依赖项,然后引用它的(一个和唯一的) v0.14.0 bitcore-lib依赖项:

代码语言:javascript
复制
var p2p     = require('bitcore-p2p');                           //p2p exports
var p2pMod  = require.cache[require.resolve('bitcore-p2p')];    //p2p module
var bitcore = p2pMod.require('bitcore-lib');                    //p2p/bitcore-lib exports

或者可以采用一种更脆弱的方法:

代码语言:javascript
复制
var p2p     = require('bitcore-p2p');                           //p2p exports    
var bitcore = require('bitcore-p2p/node_modules/bitcore-lib');  //p2p/bitcore-lib exports

就我而言,这是没有问题的。但是很明显,如果我需要的是0.16.0版本的bitcore-lib,我通常想让它成为我的项目的直接依赖,然后遇到麻烦。

票数 2
EN

Stack Overflow用户

发布于 2017-12-06 17:04:04

这里有个临时解决方案。

~/bitcore-explorers/node_modules/bitcore-lib/index.js

第7行:

代码语言:javascript
复制
bitcore.versionGuard = function(version) {

改为:

代码语言:javascript
复制
bitcore.versionGuard = function(version) { return;

然而,这个问题应该是固定的主要分支,但目前还没有解决。您可以检查这个这里

票数 3
EN

Stack Overflow用户

发布于 2022-04-18 05:20:21

试着添加

代码语言:javascript
复制
"postinstall": "find ./node_modules/**/node_modules -type d -name 'bitcore-lib' -exec rm -r {} + && echo 'Deleted duplicate bitcore-libs'"

在脚本中使用package.json文件。对我起作用了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47645884

复制
相关文章

相似问题

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