LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 行情分析 > 引谈 | 如何跨平台使用IPFS Lite?

引谈 | 如何跨平台使用IPFS Lite?

2019-12-14 IPFSMINER 来源:区块链网络

摘要

IPFS Lite是一个仅提供与IPFS网络交互的基本功能的库:创建新数据和获取现有数据。

对于希望直接在其代码、应用程序中嵌入IPFS功能的应用程序来说,IPFS Lite是一个不错的选择。

Textile越来越依赖IPFS Lite,因此我们希望提供一些新的IPFS Lite库,以在Textile运行的所有平台(JavaScript,Android和iOS)上启用相同的API。

我们将继续开发并围绕这些库来构建,但也希望尽早开放它们,以便其他人可以尝试,并提供反馈,帮助我们使它们变得更好,更快,更轻巧。

在Textile,我们已经在移动端和浏览器端的基础设置中研究IPFS有一段时间了…并且我们与许多开发人员进行了合作,试图优化人们如何在IPFS和Textile之上构建。我们一次又一次注意到的一件事——99%的时间里,在IPFS上构建的开发人员希望通过最少的设置或工作从网络添加和获取文件。他们希望IPFS像一个简单的本地数据库。大多数情况下,浏览器或移动DApp仅需要能够通过IPFS网络,添加和获取少量的数据。即,输入IPFS Lite。

IPFS Lite从Go库开始,为基于IPLD的应用程序能与IPFS网络进行交互提供了最低限度的功能。就如同HéctorSanjuán,SamuliP?yht?ri和Pedro Teixeira的论文以及IPFS Cluster项目中所描述的一样,它是基于Merkle-CRDT的分布式数据库的核心组件。该API很简单,也易于在其他应用中使用/嵌入(默认情况下只有少数方法)。我们发现自己越来越多地寻求IPFS Lite,并决定让更多的开发人员可以使用它。

今天,我们发布了一组新的IPFS Lite库。现在,你可以在浏览器,Android,iOS或桌面上(通过原始的Go库)尝试IPFS Lite 。我们从简单开始,希望以此跨平台版本来评估兴趣并早日获得反馈。我们的目标是当“完全加载”可以支持大多数默认的IPFS核心API时,能提供一种可高度扩展的IPFS实现,。如果你对应包括和不应该包括的内容有任何意见,请让我们知道或发送PR!

浏览器/ Nodejs

https://github.com/textileio/js-ipfs-lite

Android

https://github.com/textileio/android-ipfs-lite

iOS

https://github.com/textileio/ios-ipfs-lite

gRPC

https://github.com/textileio/grpc-ipfs-lite/

库在行动

为了让你了解如何在自己的应用中使用这些新库,下面有每个库的汇总,同时还附带一些简单的跨平台示例。你可以通过这些了解API。

Javascript

Js-IPFS-lite以原始Go实现的直接端口开始,完全用Typescript来书写。它后续已经发展到某种程度,但是动作域上仍然非常相似。默认情况下,一个lite Peer是要求开发人员提供一个数据库来存储本地IPLD块的(这可以是用于临时对等体的内存,可以是基于leveldb的持久性存储等等),以及一个Libp2p的主机/客户端。实际上,该库提供了许多帮助者功能(例如setupLibP2PHost),来初始化数据库,以及使Libp2p主机变得更加容易,其默认值适用于Nodejs或浏览器(基于js-ipfs的默认值)。

这个库的大小已经不到js-ipfs的一半,而且大多数核心API都没有公开……其中很多都是在后台提供的。我们将迅速努力,进一步减小尺寸(我们尚未应用许多优化措施),也会将更多这些核心API公开,作为单独、可插入模块。同时,我们已经发现减少加载时间可带来更出色的浏览器体验。如果你热衷于贡献但不精通Typescript,也没什么大不了的话,只要提交PR,我们都将为你提供帮助!

构建

fKm50nOo91tve7q3qhFktO1P2xhx5SXoGqUNpZRk.jpeg

新增文件

mUnLTvkuOl1dzJdDMhvqpSAWmHebNYGa5HWyIC53.jpeg

获取节点

你也可以获取文件或者浏览网络上的IPLD节点。在这里,我们可以探索Project Apollo Archives:

vTyhJSIh1k8qZyDI9QkVCxCqsO3JiFmHj7RhF6HD.jpeg

输出

UOXlqUCk2xkHwptrqu4iHDvDQJK1bHXkdLiFGW2H.jpeg

Android

对于android-ipfs-lite,它几乎是相同的API,拥有从IPFS上添加和检索文件的简单方法。当前的实现不需要开发人员提供自己的数据库,而是使用简单的嵌入式数据库来管理一个应用的数据和节点。

新增文件

IMkzkON3zS1QBWGsvqZhVrB2Npeg5HZFn8NidImH.jpeg

获取节点

9QDyrzAQBmm9lqQqSCNeq2kOrpRWsOwvQZp5JLVS.jpeg

输出

cGmQYxfzZBuyA4FTq4rUko0ZW42VrilWzYCqZRoh.jpeg

iOS

iOS的实现类似于Android。你可以在IPFS上添加和获取文件,也可以从网络查询节点。还有一些遗留的工作需要去做,以允许将节点添加到网络并确保所有API在适用的情况下都使用有效的数据流和异步APIs。

新增文件

tgIoYhYCPIqQH598M2PonGTPuYErgYANm77HrP73.jpeg

获取节点

9y2xgIKtHFY3Mux5i6CPnuOQm2tKsjusLP7XJNxT.jpeg

输出

03jvR10Jnt63nIictLkN9jHcNh04DLI8GQK12bJ8.jpeg

—-

编译者/作者:IPFSMINER

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...