【IPFS相关】离线数据存储:Ethereum & IPFS

【IPFS相关】离线数据存储:Ethereum & IPFS

本文由IPFS原力区收集译制,版权所属原作者

【IPFS相关】离线数据存储:Ethereum & IPFS
以太坊的gas成本问题
【IPFS相关】离线数据存储:Ethereum & IPFS

在Ethereum平台上运行的大多数分散应用程序都需要存储/检索数据,就像使用PostgreSQL、MongoDB、Redis等传统或“集中”应用程序一样。EVM (Ethereum虚拟机)确实允许我们将变量/状态保存在永久存储中。让我们看看这个简单的稳固合同:

【IPFS相关】离线数据存储:Ethereum & IPFS

我在Rinkeby test net上部署了这个契约,使用https://www.random.org生成1024个随机字节,然后使用write函数存储1kB的数据。生成的事务可以在这里到:

https://rinkeby.etherscan.io/tx/0x6575badcafbc4db521e82904fa14bd8e862de1c82f62e064e699d0f90ebe3

所使用的天然气量为754,365 @ 20Gwei天然气价格= 0.0150873乙醚。在撰写本文时(2017年10月17日),以太的价格目前为328.79美元/ETH。因此,在Ethereum主网上运行存储1kB数据的成本为4.96美元。这意味着~ 500万美元/ GB !

【IPFS相关】离线数据存储:Ethereum & IPFS
选    择
【IPFS相关】离线数据存储:Ethereum & IPFS

为EVM节省几个字节是可以的,但是对于较大的数据块,对于大多数项目来说,成本可能太高了。一种解决方案是修改我们的数据存储策略并保存数据链外(与我们上面采用的链上方法相反)。有多种离线存储选项:IPFS和Swarm是最流行的两种。在这篇文章中,我将使用IPFS,但是Swarm也可以很好地工作。

【IPFS相关】离线数据存储:Ethereum & IPFS
进入IPFS
【IPFS相关】离线数据存储:Ethereum & IPFS

查看wikipedia关于IPFS的文章:

  • 星际文件系统(IPFS)是一种协议,旨在创建一种永久的、分散的文件存储和共享方法

  • IPFS支持p2p存储,我们可以将其作为分布式文件系统来存储数据。

【IPFS相关】离线数据存储:Ethereum & IPFS
低成本的数据存储策略
【IPFS相关】离线数据存储:Ethereum & IPFS

  在IPFS上保存数据提供了一个惟一的散列。我们将只在契约上存储散列,然后使用散列检索数据,而不是在契约上存储数据。

  在生产中,我们需要创建自己的IPFS节点,但是INFURA为开发人员提供了一个可以免费使用的节点。

  以下是一个js代码片段,您可以尝试在https://npm.runkit.com/上保存数据到IPFS:

【IPFS相关】离线数据存储:Ethereum & IPFS

这应该返回散列

“Qmaj3ZhZtHynXc1tpnTnSBNsq8tZihMuV34wAvpURPZZMs”

我们可以使用它来查询我们的数据:

【IPFS相关】离线数据存储:Ethereum & IPFS

 应该返回我们的数据:   

“8803cf48b8805198dbf85b2e0d514320”

有一点需要注意,哈希字符串大小与数据大小无关,这意味着我们可以在IPFS上存储大数据块或文件(我找不到当前的大小限制),而不会增加Ethereum事务成本!

我使用我们之前的合同来存储上面生成的IPFS散列:

https://rinkeby.etherscan.io/tx/0x53ae68a0f7302d8808d836c560f54f83b2b870f02b136338c8abde03f2e3cfb9

天然气使用量下降到40,907 @ 20Gwei天然气价格= 0.00081814乙醚= 0.27美元

我们现在有一个更可接受的存储成本,它应该是相当恒定的,独立于我们存储在IPFS上的内容!

【IPFS相关】离线数据存储:Ethereum & IPFS
示例项目:Stone Dapp
【IPFS相关】离线数据存储:Ethereum & IPFS

我围绕这个想法做了一个小型的概念验证项目,叫做Stone Dapp,请随意查看:

Github: https://github.com/didil/stone-dapp

实时版本(Rinkeby): https://stone-dapp.firebaseapp.com

注:在上面的例子中,我把汽油的价格设为20gwei。要帮助您选择您想支付的汽油价格,您可以查看http://ethgasstation.info。ETH加油站提供交易确认时间估计和其他有用的网络统计数据。

我使用我们之前的合同来存储上面生成的IPFS散列:

https://rinkeby.etherscan.io/tx/0x53ae68a0f7302d8808d836c560f54f83b2b870f02b136338c8abde03f2e3cfb9

天然气使用量下降到40,907 @ 20Gwei天然气价格= 0.00081814乙醚= 0.27美元

我们现在有一个更可接受的存储成本,它应该是相当恒定的,独立于我们存储在IPFS上的内容!

【IPFS相关】离线数据存储:Ethereum & IPFS

【IPFS原力区】

总部位于上海,深耕IPFS社区发展与商业生态建设

Force系列产品布局IPFS商业应用,贯通视频娱乐、文件共享、浏览器入口、数据加密管理等服务,为企业与个人的使用提供一站式服务。

旗下IPFS原力区是IPFS顶级价值生态社区,聚集了众多技术大咖和IPFS爱好者,通过持续输出全面、精细、优质的IPFS咨询和技术支持,将生态中的爱好者转化为IPFS支持者和参与者,推动IPFS生态的健康发展。

 
【IPFS相关】离线数据存储:Ethereum & IPFS
 

原创文章,作者:IPFSforce,如若转载,请注明出处:http://ipfser.org/2019/04/16/%e3%80%90ipfs%e7%9b%b8%e5%85%b3%e3%80%91%e7%a6%bb%e7%ba%bf%e6%95%b0%e6%8d%ae%e5%ad%98%e5%82%a8ethereum-ipfs/

发表评论

登录后才能评论

联系我们

在线咨询:点击这里给我发消息

邮件:ipfsforce@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

QR code