Java连接ipfs存储_用IPFS和以太坊存储数据

本文探讨了如何使用IPFS存储JSON文件,并结合Oraclize在以太坊智能合约中访问数据。由于以太坊存储成本高昂,IPFS提供了一种经济高效的去中心化存储方式。通过Oraclize,可以从IPFS读取数据并用于智能合约。示例展示了如何使用Solidity实现这个过程,并讨论了性能和实施考虑。
摘要由CSDN通过智能技术生成

如何将JSON文件存储在IPFS上,并使用Oraclize访问智能合约中的数据呢?

以太坊是一个成熟的区块链,使开发人员能够创建智能合约,在区块链上执行的程序可以由交易触发。人们经常将区块链称为数据库,但使用区块链作为数据存储非常昂贵。

以目前的价格(530美元,4gwei)在以太坊上存储250GB将花费你106,000,000美元。一般来说,我们可以忍受高成本因为我们:

不会在以太坊区块链上保存那么多数据。

区块链的审查制度,透明度和稳健性是值得的。

如果你是以太坊的新手,请查看此介绍。

去中心化存储

IPFS(星际文件系统)对区块链存储有一些保证,即去中心化和防篡改,但不比传统的磁盘空间花费更多费用。使用EBS 250GB存储运行EC2 t2.micro实例将花费你大约15美元/月。IPFS的一个独特功能是它处理文件的方式。它不使用基于位置的寻址(如域名,IP地址,文件路径等),而是使用基于内容的寻址。将文件(或目录)添加到IPFS存储库后,可以通过其加密哈希来引用它。

$ ipfs add article.json

added Qmd4PvCKbFbbB8krxajCSeHdLXQamdt7yFxFxzTbedwiYM article.json

$ ipfs cat Qmd4PvCKbFbbB8krxajCSeHdLXQamdt7yFxFxzTbedwiYM

{

"title": "This is an awesome title",

"content": "paragraph1\r\n\r\nparagraph2"

}

$ curl https://ipfs.io/ipfs/Qmd4PvCKbFbbB8krxajCSeHdLXQamdt7yFxFxzTbedwiYM

{

"title": "This is an awesome title",

"content": "paragraph1\r\n\r\nparagraph2"

}

然后,你可以使用IPFS客户端或任何公共网关访问文件。你还可以创建非公共网关,默认情况下使其成为可写(只读),并实现授权方案,以便以编程方式访问IPFS网络。

重要的是要了解IPFS不是一种服务,其他节点将存储你的内容。如果你的内容不受欢迎,如果他们没有固定哈希(他们不​​想租用磁盘空间),垃圾收集器会将其从其他节点中删除。只要网络上至少有一个对等体确实关心你的文件并且有兴趣存储它们,网络上的其他节点就可以轻松获取该文件。即使你的文件从网络中消失,也可以在以后再次添加,除非其内容发生更改,否则其地址(哈希)将相同。

IPFS和以太坊智能合约

尽管以太坊协议没有提供任何连接到IPFS的本地方式,但我们可以回到像Oraclize这样的离线解决方案来解决这个问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值