我正在尝试使用一个名为bcoin的库来进行node编程。运行以下代码:
chain.on('block', function(block) {
console.log('Connected block to blockchain:');
block.txs.forEach(function(t) {
t.inputs.forEach(function(i) {
console.log(typeof i, i);
console.log(JSON.stringify(i));
});
});
});
这是我得到的响应:
Connected block to blockchain:
object { type: 'coinbase',
subtype: null,
address: null,
script: <Script: 486604799 676>,
witness: <Witness: >,
redeem: null,
sequence: 4294967295,
prevout: <Outpoint: 0000000000000000000000000000000000000000000000000000000000000000/4294967295>,
coin: null }
{"prevout":{"hash":"0000000000000000000000000000000000000000000000000000000000000000","index":4294967295},"script":"04ffff001d02a402","witness":"00","sequence":4294967295,"address":null}
需要注意的是,尽管我们在打印i
时显示了属性type
,但当我们使用JSON.stringify
对象时,该属性不存在。如果我尝试console.log(i.type)
,我将得到undefined
。
这是怎么可能的?还有什么好的方法可以调试对象发生了什么?