物理上区块链在哪里

Where is the blockchain physically

只是在玩 Hyperledger Composer,我想知道,区块链实际上在哪里 我的意思是它是二进制文件,文本文件....? 它是便携式的吗?

谢谢大家

区块链在托管它的所有对等网络之间共享。所以基本上区块链存储在世界各地的许多硬盘中。

实际上,区块链是一个共享数据库,只读和只追加。它分布在每个同行中。所以每个对等点都有一个共享数据库的副本。 HyperLedger Fabric一般使用LevelDB或CouchDB。

The ledger is comprised of a blockchain (‘chain’) to store the immutable, sequenced record in blocks, as well as a state database to maintain current fabric state.

这里是关于HyperLedger Fabric Ledger (the blockchain)

的更多信息

Hyperledger Fabric 中有两个 "store" 数据(Composer 使用的底层区块链基础设施,是其上方的运行时抽象层):

  • 分类帐
  • 状态数据库 ('World state')

分类账是真实的"blockchain"。它是一个基于文件的分类帐,用于存储序列化的块。每个区块都有一个或多个交易。每个事务都包含一个 'read-write set',它修改一个或多个 key/value 对。分类帐是最终的数据来源,并且是不可变的。

状态数据库(或'World State')保存任何给定键的最后已知提交值——链事务日志的索引视图。当每个对等方验证并提交交易时,它就会被填充。状态数据库总是可以通过重新处理账本(即重放导致该状态的交易)来重建。状态数据库目前有两种选择:嵌入式 LevelDB 或外部 CouchDB。

顺便说一句,如果您熟悉 Hyperledger Fabric 'channels',每个通道都有一个单独的分类帐。

链是交易日志,结构为哈希链接块,其中每个块包含一系列 N 笔交易。区块头包括区块交易的哈希值,以及前一个区块头的哈希值。通过这种方式,分类账上的所有交易都被排序并以加密方式链接在一起。

状态数据库只是链交易日志的索引视图,因此可以随时从链中重新生成。

来源:http://hyperledger-fabric.readthedocs.io/en/release/ledger.html

可以这么说,Hyperledger Composer 使用 Fabric(作为区块链基础设施)来 endorse/order/commit 交易到账本上的区块。

要查看这些数据的物理位置,您可以转到结构网络中每个对等容器中的/var/hyperledger/production