如何在区块链dApp上存储数据 - Oliver


dApp程序员的权衡:将哪些数据放在链上,链上的更多数据会增加成本,数据过多可能会使您的应用无法使用。存储较少的数据可能也不是一种选择。
如果使用专用数据库这种方法将使dApp成为应用程序。如果引入中央数据存储,则可以规避某些区块链的限制,但是并不能保证实现去中心化。
可以将链上无法存储的任何内容存储在数据库中,并将其与用户关联。无论何时需要这种类型的数据,都可以从数据库中获取。
使用星际文件系统IPFS协议是对等超媒体协议。它的工作方式类似于BitTorrent,但旨在创建一个单一的全球网络。如果安装了客户端,则可以“固定”获得唯一标识符的文件。
这些文件可以从您的计算机上加载,然后被缓存以供其他人访问。这是可以轻松分发文件的方式。IPFS还带有HTTP网关,因此您甚至可以从“传统” Internet的其余部分访问IPFS中存储的文件。
无法在链上存储的数据可以轻松地存储在IPFS上并从那里再次访问。这为您提供了您将需要的所有存储容量。想象一下,IPFS成为您梦想中的去中心化Amazon S3或阿里云存储。
多链化您的dApp可以使用多个区块链。尽管您的主要dApp可能依赖以太坊,但您可以使用其他区块链,这些区块链允许更便宜地存储更多数据。
许多区块链都有通往以太坊的桥梁,因此您甚至不需要使用两个完全断开的链。如果您不想强迫用户使用多个dApp,则这可以派上用场。
选择一个更便宜,更快的区块链来存储与您的主数据不相关的数据可能会很有意义。这样可以为您和您的用户节省金钱。
使用专用的区块链数据库实际上有专用的区块链数据库。它们不是集中式的,而是基于它们自己的区块链实现的,该实现使您可以与它们进行交互。
区块链数据库是多链方法的一种特殊形式,但是提供了易于使用的界面,因为它们通常带有自己的驱动程序/库,旨在提供类似于数据库的界面,而不是类似于区块链的界面。
结论为dApp存储大量数据有时会比通常与您选择的区块链接口困难一些。但是,生态系统每天都在发展,并带来更多有助于解决此类问题的解决方案。