TL;DR
您看到的只是一个对象,特别是来自bsv 库的PrivateKey 对象。当 console.log 在过时的 Node.js 版本中记录时,bsv 库具有对象的自定义表示。
详情
我终于能够复制你的输出,从一个过时的 Node.js 副本中获得:
正如我上面所说,它只是来自bsv 库的PrivateKey 对象。您看到的原因是 bsv 库使用 Node.js 的一个长期弃用的功能:Node.js 的 console.log 用于查找 inspect 方法,如果它存在,将调用该方法来获取要记录的对象的字符串表示形式。 bsv 在 PrivateKey 上有一个 inspect 方法,目前位于 line 372(当然,该行号会随着时间的推移而失效)。
您只会在(稍微)过时的 Node.js 副本中看到这一点。我偶然发现了这个解决方案,因为我在使用 v10.20.1 的 CodeSandbox 上进行了尝试。这个有用的消息就在 CodeSandbox 中的输出之后:
(node:887) [DEP0079] DeprecationWarning: 通过 .inspect() 对对象的自定义检查功能已弃用
我已经通过安装 Node.js v10.20.1 在本地复制了它。
有了up-to-date copy of Node.js(我写这篇文章时v12.16.3是当前的LTS,v14.1.0是当前版本),Node.js不再寻找或使用inspect方法,所以你看Node.js 的标准对象输出,大致如下:
私钥{
BN:BN {
负数:0,
字: [
66428877, 21624768,
45502785, 19604474,
35981886, 10091365,
29744843, 24740201,
15504496, 1628002,
0
],
长度:10,
红色:空
},
压缩:真实,
网络:网络{
名称:'livenet',
别名:'主网',
公钥哈希:0,
私钥:128,
脚本哈希:5,
xpubkey: 76067358,
xprivkey: 76066276,
cashAddrPrefix: 'bitcoincash',
现金地址前缀数组:[
2, 9, 20, 3, 15,
9、14、3、1、19、
8
],
networkMagic: ,
端口:8333,
dnsSeeds:['seed.bitcoinsv.org','seed.bitcoinunlimited.info']
},
公钥:[获取者]
}
所以,再说一遍:它只是一个对象,由bsv 库以非标准格式显示。