刚玩Hyperledger Composer,我想知道,区块链在哪里,物理上我认为它是二进制文件,文本文件....?它便携吗?
谢谢你们
要查看这些数据的物理位置,您可以转到结构网络中每个对等容器中的/var/hyperledger/production
Hyperledger Fabric中有两个“存储”数据的地方(Composer使用的底层区块链基础结构,它是上面的运行时抽象层):
分类帐是实际的“区块链”。它是一个基于文件的分类帐,用于存储序列化块。每个块都有一个或多个事务。每个事务都包含一个“读写集”,它修改一个或多个键/值对。分类帐是权威的最终来源,并且是不可变的。
状态数据库(或“世界状态”)保存任何给定键的最后一个已知提交值 - 链的事务日志的索引视图。当每个对等体验证并提交事务时,它将被填充。始终可以通过重新处理分类帐来重建状态数据库(即重放导致该状态的事务)。目前有两种状态数据库选项:嵌入式LevelDB或外部CouchDB。
另外,如果您熟悉Hyperledger Fabric的“频道”,则每个频道都有一个单独的分类帐。
该链是一个事务日志,结构为散列链接块,其中每个块包含一系列N个事务。块头包括块的事务的散列,以及先前块的头的散列。通过这种方式,分类账上的所有交易都按顺序排列并以加密方式链接在一起。
状态数据库只是链的事务日志的索引视图,因此可以随时从链中重新生成。
资料来源:http://hyperledger-fabric.readthedocs.io/en/release/ledger.html
可以说,Hyperledger Composer使用Fabric(作为区块链基础设施)来支持/订购/提交事务到分类账上的块。
实际上,区块链是一个共享数据库,它是只读的和仅附加的。它分布在每个同行中。所以每个对等体都有一个共享数据库的副本。通常,在HyperLedger Fabric中使用LevelDB或CouchDB。
分类帐由区块链(“链”)组成,用于以块的形式存储不可变的顺序记录,以及用于维护当前结构状态的状态数据库。
区块链在托管它的所有对等网络之间共享。所以基本上区块链存储在世界各地的许多硬盘中。