我正在逐步学习Solidity,并且有一些想法。目前,我很好奇文件/图像是否可以放在区块链上。我在想一种替代方法是某种混合方法,其中一些东西在区块链上,而有些东西在更传统的文件存储中,并使用地址引用来抓取它。我预见的一个问题是文件上传的汽油价格。
答案 0 :(得分:4)
是否可以在以太坊区块链上存储图像?
绝对有可能!
您应该这样做吗?几乎可以肯定!
我预见的一个问题是文件上传的汽油价格。
每千字节不到2美元。
我不是要告诉您这对于您的应用程序而言是否太昂贵,但是您还应该考虑到Gas和Ether的价格会随着时间的推移而显着变化,因此您应该经历这个数字< 。
答案 1 :(得分:1)
从技术上讲,是的,您可以存储非常小的图像。但是你不应该。
将图像存储在分布式文件存储中(例如Swarm或IPFS),并在链上存储图像的哈希(如果对图像而言,证明其不可篡改确实很重要)。如果那不重要,那么也许不要在链上放任何东西。
主要是街区的煤气限制。目前,以太坊主网限制为8Mgas。每增加32个字节的存储空间,就会消耗2万个气体。因此,您不能存储总计超过12.8kb的数据,因为它不适合该块。
区块链不是为这种用途而设计的(这就是为什么存在诸如Swarm和IPFS之类的其他项目的原因)。它会膨胀并减慢所有速度,而不会给您带来任何其他文件存储系统带来的好处。以此类推,您通常也不会将文件存储在SQL数据库中。
答案 2 :(得分:1)
我完全同意@Peter Hall的观点,认为将图像存储在以太坊上太昂贵了。
那么,您能做些什么呢?
答案 3 :(得分:0)
重点放在链上存储图像否!
将图像存储在数据库中也不是一个好习惯,我假设您只是指文件存储解决方案,例如S3 / firebase。可以在中央服务器上存储映像,但这取决于您要实现的目标,您可以研究IPFS和Swarm等分散式存储解决方案。