问题描述
我使用以太坊平台开发 dapp。而且我需要在将其推送到网络之前从区块链中存储一些草稿数据。在这种情况下,我可以使用智能合约或将草稿数据存储在 db 中或将其存储在 localStorage 中。哪种解决方案好?或者对于这种情况还有其他解决方案吗?
解决方法
如果您使用的是公共以太坊,那么将草稿数据存储在智能合约上会很昂贵(因为这意味着将其存储在区块链上)。如果这是一个私有的以太坊,那么这取决于草稿数据是否应该只在创建它的节点上可用,还是在所有或部分网络节点上可用。请记住,为了减少直接存储在区块链上的数据大小,您可以使用去中心化文件系统(IPFS、以太坊群)进行分布式数据存储或云存储,仅将数据本身的链接传输到区块链。
虽然草稿数据只能由创建它的站点访问,但在数据库和文件存储之间的选择本质上取决于品味和个人偏好。数据的大小(数十字节或兆字节)以及可用数据库管理系统的功能也会受到影响。