【发布时间】:2017-11-17 13:25:05
【问题描述】:
我有两个问题:
我能否以某种方式访问大链中的所有块,块结构没有“块高度”属性。我们可以通过'block id'来访问block。 我需要做的是从创世以来的所有区块中获取数据。
Bigchain db 文档说我们可以实现智能联系,但仅此而已,谁能解释我们如何做到这一点。
【问题讨论】:
我有两个问题:
我能否以某种方式访问大链中的所有块,块结构没有“块高度”属性。我们可以通过'block id'来访问block。 我需要做的是从创世以来的所有区块中获取数据。
Bigchain db 文档说我们可以实现智能联系,但仅此而已,谁能解释我们如何做到这一点。
【问题讨论】:
问题 1
在 BigchainDB 中没有直接的方法可以通过“块高度”获取块,至少现在不是。有一种迂回的方式可以遍历所有区块:首先提交一个有效的交易,然后等到它在一个有效的区块中。然后获取它所在区块的 ID。然后获取对该区块进行投票的选票。每个投票都包含前一个区块的 ID。获取前一个块。以此类推。
要完成所有这些事情,您可以使用 HTTP API。您也可以使用其中一种驱动程序(例如 Python 驱动程序或 JavaScript 驱动程序)。
问题 2
标准 BigchainDB 不支持类似于以太坊的成熟智能合约,但它确实支持智能合约常用来实现的一些功能。特别是,未使用的输出可以被加密条件锁定。它只能由有能力满足该加密条件的人(或某些组)解锁。支持的加密条件如下:
【讨论】: