1. IPFS点滴资讯首页
  2. 知识百科

离线数据存储:以太坊和IPFS

节省燃气

以太坊天然气成本问题

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

pragma solidity ^ 0.4.17;
合同数据库{ 
    字节x;
    function write(bytes _x)public { 
      x = _x; 
    } 
    
    功能读()公共视图返回(字节){ 
      返回X; 
    } 
}

我已经在Rinkeby测试网上部署了这个合同,并使用https://www.random.org生成了1024个随机字节,然后使用write函数存储了1kB的数据。由此产生的交易可以在这里看到:https//rinkeby.etherscan.io/tx/0x6575badcafbc4db521e82904fa14b04bd8e862de1c82f62e064e699d0f90ebe3

天然气使用量为754,365 @ 20Gwei Gas价格= 0 0150873以太 在撰写本文时(2017年10月17日),以太网价格目前为328.79美元/ ETH。因此,在以太坊主网上运行1kB的数据需要花费4.96美元。这意味着约500万美元/ GB !

备择方案

将几个字节保存到EVM是可以的,但对于更大的数据块,大多数项目的成本可能太高。一种解决方案是修改我们的数据存储策略并将数据保存在链外(与我们上面采用的链式方法相反)。有多种脱链存储选项:IPFSSwarm是两种流行的存储选项。我将在这篇文章中使用IPFS,但Swarm同样有效。

输入IPFS

查看有关IPFS 的维基百科文章

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

IPFS允许p2p存储,我们可以将其用作分布式文件系统来存储数据。

低成本数据存储战略

在IPFS上保存数据可提供唯一的哈希值。我们只会在合同上存储哈希,而不是将数据存储在合同上,然后我们可以使用哈希来检索数据。

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

这是一个js片段,您可以在https://npm.runkit.com/上试用以将数据保存到IPFS:

const IPFS = require('ipfs-mini'); 
const ipfs = new IPFS({host:'ipfs.infura.io',port:5001,protocol:'https'}); 
const randomData =“8803cf48b8805198dbf85b2e0d514320”; //用于测试的随机字节
ipfs.add(randomData,(err,hash)=> { 
if(错误){ 
   return console.log(err); 
} 
 
console.log(“HASH:”,hash); 
});

这应该返回哈希值“Qmaj3ZhZtHynXc1tpnTnSBNsq​​8tZihMuV34wAvpURPZZMs”,我们可以使用它来查询我们的数据:

const IPFS = require('ipfs-mini'); 
const ipfs = new IPFS({host:'ipfs.infura.io',port:5001,protocol:'https'}); 
const hash =“Qmaj3ZhZtHynXc1tpnTnSBNsq​​8tZihMuV34wAvpURPZZMs”; 
ipfs.cat(hash,(err,data)=> { 
if(err){ 
   return console.log(err); 
} 
 
console.log(“DATA:”,data); 
});

这应该返回我们的数据:“8803cf48b8805198dbf85b2e0d514320”

一句话是哈希字符串大小与数据大小无关,这意味着我们可以在IPFS上存储大数据块或文件(我找不到当前大小的限制),而不会增加我们的以太坊交易成本!

我使用以前的合同来存储上面生成的IPFS哈希:

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

天然气使用量减少到40,907 @ 20Gwei燃气价格= 0 00081814以太币= 0.27美元

我们现在有一个更可接受的存储成本,它应该是非常稳定的,与我们在IPFS上存储的内容无关!

示例项目:Stone Dapp

我围绕这个名为Stone Dapp的想法建立了一个小概念验证项目,随时可以查看:

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

点对点科技简介

点对点科技深耘IPFS与Filecoin技术,坚持区块链技术改变未来的信念。点对点 IPFS 数据中心是目前国内技术领先,性价比高、保障优的投资标的。自建杭州数据中心,合作数据中心分布于上海、宁波、河北、香港、斯德哥尔摩(瑞典)等地。点对点数据中心具有优秀的硬件配置与目前国内优质的网络节点资源。点对点科技力求将IPFS爱好者升级为IPFS领军者与受益者,让IPFS颠覆传统互联网,共同开启 WEB 3.0时代。

想了解更多区块链知识吗?关注我吧!

Filecoin测试网二阶段昨日重启,点对点出块第一! | 点滴资讯

原创文章,作者:Vito,如若转载,请注明出处:https://ipfsdrop.com/wiki/off-line-data-storage-ethernet-and-ipfs/

发表评论

电子邮件地址不会被公开。 必填项已用*标注