Hyperledger fabric 如何将pdf、文档文件等上传到hyperledger区块链

Hyperledger fabric 如何将pdf、文档文件等上传到hyperledger区块链,hyperledger-fabric,blockchain,hyperledger,ethereum,smartcontracts,Hyperledger Fabric,Blockchain,Hyperledger,Ethereum,Smartcontracts,我目前正在Hyperledger的一个项目中工作,我想通过在网络节点上分发文档文件并检索文档文件,将pdf和文档等文件上传到Hyperledger区块链。请帮助我如何做,我应该如何批准。如果无法在Hyperledger中实现,请告诉我可以通过哪个区块链实现。提前感谢。一般来说,区块链技术不适合存储大型文档。区块链需要太多的过程和存储复制。此外,还有一些陷阱,例如块大小和机密性 一种常见的方法是将文件存储在分布式P2P存储系统(如IPFS())中,并在区块链状态下存储文件的哈希(哈希用作IPFS中

我目前正在Hyperledger的一个项目中工作,我想通过在网络节点上分发文档文件并检索文档文件,将pdf和文档等文件上传到Hyperledger区块链。请帮助我如何做,我应该如何批准。如果无法在Hyperledger中实现,请告诉我可以通过哪个区块链实现。提前感谢。

一般来说,区块链技术不适合存储大型文档。区块链需要太多的过程和存储复制。此外,还有一些陷阱,例如块大小和机密性

一种常见的方法是将文件存储在分布式P2P存储系统(如IPFS())中,并在区块链状态下存储文件的哈希(哈希用作IPFS中的文件引用,以确保完整性)

您可能还需要IPFS集群()来确保持久性和复制


IPFS不支持加密,因此,如果需要,应在IPFS外部端对端应用加密,在存储之前加密,在访问之后解密。

作为一般规则,区块链技术不适合存储大型文档。区块链需要太多的过程和存储复制。此外,还有一些陷阱,例如块大小和机密性

一种常见的方法是将文件存储在分布式P2P存储系统(如IPFS())中,并在区块链状态下存储文件的哈希(哈希用作IPFS中的文件引用,以确保完整性)

您可能还需要IPFS集群()来确保持久性和复制


IPFS不支持加密,因此,如果需要,应该在IPFS外部端到端应用加密,在存储之前加密,在访问之后解密。

从您的评论中,听起来您好像在考虑使用Hyperledger结构。使用Fabric,您应该能够编写链码和存储文件的客户端。这可能仍然不是最好的方法,您应该仔细考虑将大文件的存储与基于区块链共识的链码分开,特别是在链上存储文件的哈希就足够了的情况下。每个节点都需要存储该文件,并一致认为所有节点都存储了相同的文件(具有相同的状态)。这在计算和网络i/o方面非常昂贵

使用Fabric,您应该能够在代码中做任何事情,只要它是确定性的,而不是长时间运行的过程。根据我的经验,最小化任何区块链上的代码和状态是最佳实践


这里有一个Hyperledger结构实现的完整示例:

从您的评论来看,您似乎正在考虑使用Hyperledger结构。使用Fabric,您应该能够编写链码和存储文件的客户端。这可能仍然不是最好的方法,您应该仔细考虑将大文件的存储与基于区块链共识的链码分开,特别是在链上存储文件的哈希就足够了的情况下。每个节点都需要存储该文件,并一致认为所有节点都存储了相同的文件(具有相同的状态)。这在计算和网络i/o方面非常昂贵

使用Fabric,您应该能够在代码中做任何事情,只要它是确定性的,而不是长时间运行的过程。根据我的经验,最小化任何区块链上的代码和状态是最佳实践


Hyperledger结构实现的完整示例如下:

我同意Kekomal的观点,不要将大文件放在区块链中,因为它会膨胀。而是离线存储二进制/大型文件。Hyperledger Fabric(HLF)中的一个选项是私有数据收集,您可以将二进制文件存储在CouchDB中作为base64文本,只需将校验和/哈希存储在链上,但这会增加存储要求-基于base64文本中的20KB pdf将为26KB-对于非常大的二进制文件可能非常重要,以及文档数据库的不当使用。私人数据收集很好,因为HLF让您与

共享文件我同意Kekomal的观点,不要将大文件放在区块链中,因为它会膨胀。而是离线存储二进制/大型文件。Hyperledger Fabric(HLF)中的一个选项是私有数据收集,您可以将二进制文件存储在CouchDB中作为base64文本,只需将校验和/哈希存储在链上,但这会增加存储要求-基于base64文本中的20KB pdf将为26KB-对于非常大的二进制文件可能非常重要,以及文档数据库的不当使用。私人数据收集很好,因为HLF让您与共享文件

这是否回答了您的问题@IshaPadalia不它不回答问题question@karthikyadav最后,是否可以在hyperledger结构上上载文档而不使用IPFS等外部存储系统?这是否回答了您的问题@IshaPadalia不它不回答问题question@karthikyadav最后,是否可以在没有IPFS等外部存储系统的情况下在hyperledger fabric上上载文档?是的,我知道区块链并不意味着要存储更大的文件,但在hyperledger fabric中,我们可以配置块大小、共识等。。,我已经将文件存储在IPFS中,并将哈希存储在以太坊区块链中。但我教过我可以在Hyperledger中存储文件,如果可能的话。如果我错了,请纠正我。谢谢,我知道区块链不是用来存储更大的文件,但在hyperledger fabric中,我们可以配置区块大小、共识等。我已经将文件存储在IPFS中,并将哈希存储在以太坊区块链中。但我教过我可以在Hyperledger中存储文件,如果可能的话。如果我错了,请纠正我。这有可能实现吗?就像上传一个文件,然后将其分成若干部分,并将其存储在区块链网络中,就像分散的分布式存储一样。因此,如果一台服务器宕机,则可以通过