我向我的BigchainDB实例发送了一个事务。
bdb = BigchainDB(url_of_instance_with_port)
如果我运行bdb.transactions.retrieve(txid),我会得到以下内容:
{'inputs': [{'owners_before': ['31LBKyjyd6GEA7R88mnHwthMf2ygtyB8xGDv1dZHfkqu'],
'fulfills': None,
'fulfillment': 'pGSAIB3NDv0SG46f7PYdtgzMezpc8Kq8F1nR0Y1Brwe5zbkQgUDWwwaRXj4yx9Z49f76L33feu9iUhNYUs0B3oPyLllUDZrHopIoHRt0FeBLd_5Yt-m1riyc3-0jYNdM0VAyGwAG'}],
'outputs': [{'public_keys': ['31LBKyjyd6GEA7R88mnHwthMf2ygtyB8xGDv1dZHfkqu'],
'condition': {'details': {'type': 'ed25519-sha-256',
'public_key': '31LBKyjyd6GEA7R88mnHwthMf2ygtyB8xGDv1dZHfkqu'},
'uri': 'ni:///sha-256;cfREMIEIaEdXKEfokspCcfiu9jSYvlfeq6zwdj2x3Fw?fpt=ed25519-sha-256&cost=131072'},
'amount': '1'}],
'operation': 'CREATE',
'metadata': {...},
'asset': {...},
'version': '2.0',
'id': '61b7f06a106d7db4e5cbaaf23f160d934c7e6e5ef6ab1df7c1eefca1def6ea18'}但是,bdb.blocks.get(txid)超时,块状态保持不变--即使块零也不包含任何事务。为什么?如何进一步调试?
这就引出了我的另一个问题,在 in BigchainDB的概念是什么?什么时候创建一个块?
发布于 2018-09-30 06:24:16
如果bdb.blocks.get(txid)调用超时,那么这可能是Python驱动程序中的一个bug,除非在您进行调用时BigchainDB网络出现故障,在这种情况下,它当然会超时。您能否再试一次,即发布一个新事务,然后执行bdb.blocks.get(txid)。如果再次超时,则可以在web浏览器中尝试相同的HTTP请求,即将类似的内容放在地址栏中:
id=blahblahblah
然后按Enter键,看看它是否有效。如果没有,那么节点就有问题了。如果它工作了,那么Python驱动程序就有问题了。
如果Python驱动程序有问题,请在https://github.com/bigchaindb/bigchaindb-driver/issues/new上提交一个新问题
关于挖掘
BigchainDB节点不会像某些比特币或Ethereum节点那样进行“挖掘”。BigchainDB网络中的节点采用特德薄荷协商一致机制,以不同的方式实现拜占庭容错(BFT)共识。BFT共识的理论和实践可以追溯到20世纪70年代末(尽管BFT术语只是在20世纪80年代初才出现),因此它并不是一个新的想法;Tendermint只是较新的BFT共识算法/协议之一。
https://stackoverflow.com/questions/52572474
复制相似问题