console.log
写入此数据类型-
<key1 : value1 , key2 : value2>
语法与对象和数组都不相似。那么这是什么数据类型呢?
以下是如何繁殖。
安装bsv库
const bsv = require("bsv");
console.log(bsv.PrivateKey.fromRandom())
来自节点终端
> bsv = require("bsv");
> bsv.PrivateKey.fromRandom()
TL;DR
您看到的只是一个对象,特别是bsv
库中的PrivateKey
对象。当console.log
在Node.js.的过时版本中记录时,bsv
库具有对象的自定义表示
详细信息
我终于能够复制你的输出了,这是从Node.js:的一个过时副本中得到的
<私钥:a909d298d55c8fa3afdb641eb46e90cebad4f2d3f5e0d4149e3bac16f12ee5b,网络:livenet>
如上所述,它只是bsv
库中的一个PrivateKey
对象。您看到的原因是bsv
库使用了Node.js的一个长期不推荐使用的功能:Node.js中的console.log
用于查找inspect
方法,如果它存在,则会调用该方法来获取要记录的对象的字符串表示。bsv
在PrivateKey
上有一个inspect
方法,目前位于第372行(当然,该行号会随着时间的推移而腐烂(。
你只会在Node.js的(稍微(过时的副本中看到这一点。我偶然发现了这个解决方案,因为我在使用v10.20.1的CodeSandbox上尝试了它。这个有用的消息就在CodeSandbox:中的输出之后
(节点:887([DEP0079]弃用警告:通过.inspect((对对象的自定义检查功能已弃用
此后,我通过安装Node.js v10.20.1在本地复制了这一点。
有了Node.js的最新副本(v12.16.3是我写这篇文章时的当前LTS,v14.1.0是当前版本(,Node.js不再寻找或使用inspect
方法,所以你可以看到Node.js标准的对象输出,如下所示:
PrivateKey{bn:bn{阴性:0,文字:[66428877、21624768,4550278519604474,35981886、10091365,29744843、24740201,15504496、1628002,0],长度:10,红色:空},压缩:true,网络:网络{name:"livenet",别名:'mainnet',pubkeyhash:0,私钥:128,scripthash:5,xpubkey:76067358,xprivkey:76066276,cashAddrPrefix:'比特币现金',cashAddrPrefixArray:[2、9、20、3、15,9、14、3、1、19,8.],networkMagic:<缓冲器e3 e1 f3 e8>,端口:8333,dnsSeeds:['seed.bitcoinsv.org.,'seed.bitscoinsunlimited.info']},公钥:[Getter]}
因此:它只是一个对象,由bsv
库以非标准格式显示。