2017-06-12 91 views
0

我正在研究IBM块链示例,并在Linux系统上部署了car-lease-demo示例。我无法理解数据库如何存储。我发现数据库所在的位置是“/ var/hyperledger/production”,但没有找到类似的位置。 任何人都可以解释我是如何存储数据的,以及hyperledger结构如何使用数据库来存储键值对,以及db所在的数据存储位置在哪里?IBM Block Chain-汽车租赁演示状态数据库位置?

另外我想知道,如果我们可以使用不同的数据库配置,如Neo4j,MongoDB等NOSQL数据库?

回答

0

默认实现使用LevelDB作为数据的后端存储,并存在于所有对等节点上。您可以在cli模式下输入泊坞窗容器并亲自查看。

是的,您可以将默认DB更改为任何其他NoSQL DB。以下是使用Hyperledger结构设置CouchDB的示例。如您所见,CouchDB托管在通过一个开放端口链接到对等节点的单独容器中(有关连接的详细信息,请参阅Docker组合文件)。您可以对其他任何NoSQL DB执行相同的操作,并使用链式代码中正确的PUT和GET API来访问它们。但是您必须确保数据在所有数据库中及时复制以保持区块链网络的一致性。

+0

感谢您的回应。你能帮我用命令来检查数据库中的内容,因为我不确定数据库文件位于何处以及如何访问它。 – Chika

+0

如果您使用的是CouchDB,则可以使用其端口5984上托管的名为Fauxton的Web界面。请参阅以下内容:http://couchdb.apache.org/fauxton-visual-guide/#intro – gonephishing

+0

LevelDB没有一个Web界面,但您可以使用第三方服务,使命令行访问相同。示例第三方服务是这样的:https://github.com/0x00A/ldb – gonephishing