区块广播:

【IPFS相关】IPFS便携式用户设置

IPFS原力区版主发布在 技术交流
 1757  0

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

「 Daniel:在Fission,我们一直在努力用IPFS做一些有趣的新实验。IPFS的基于内容寻址为我们提供了一个扁平的、通用的名称空间来存储文件和其他数据,这促使我们以不同的方式思考如何构建和部署软件。 」

这将引导我们构建原型和实验,从而帮助我们:

· 构思我们或其他团队可以扩展的项目
· 测试和校准我们构建的工具,以便实际应用
· 提示创建新的库/技术
最近我们的应用程序来源于一个简单的问题,我们问:如果我个人设置偏好在不同的应用程序中大体相同,为什么我需要在每个应用程序中填写相同的信息?

介绍IPFS可移植的用户设置——一个完全的客户端应用程序,您可以通过IPFS更新您的首选项,并随身携带。

现场演示

背景

尽管新兴的分布式网络和过去的网络在许多方面都存在差异,可以把它看作是用户模型的不同。Web2.0用户数据模型以公司(或平台)为中心。这涉及将您的数据锁定在公司拥有的整体数据库中,最终结果是您的身份被分散并在各种公司数据库中复制。

Web3带来了一种新的数据概念化方式:以用户为中心的数据模型。在此模型中,用户拥有其数据,并且该数据只能由他们以及受信任的人和应用读取/编辑。应用程序具有不同的功能:它们作为“窗口”存在,用户授予其查看或编辑其数据某些属性的权限。

通常,web3技术的好处是反作用的。也就是说,它正在对当前互联网公司管理人员的超范围/失误作出反应:审查制度、草率或恶意使用用户数据、临时性(我是否可以在25年后在Facebook上查看我的照片?我在Gmail上存档的电子邮件 ?)等等。

我们打算在Fission上做的一件事不仅是解决web2的缺点,而且为创建向web3的转变创造积极的理由。

分布式应用程序是有趣的,开发人员可以轻松创建,用户也可以接受,因为它们提供了旧网络中无法实现的功能。这是开发便携式用户设置时的动力。我们希望通过web3和一个基于完善版本的技术演示,对一些可能实现的功能给出一些直观的认识。

我们也想使这个应用程序完全p2p化。这里不需要HTTP网关。如果您的浏览器启用了IPFS,并且您正在运行本地后台程序,则该应用程序将连接到该后台程序。如果不是,它将设置一个浏览器内实例js-ipfs。

这可能有很多方向。也许我们要启用通用暗模式,以便您浏览的所有网站都遵守全局暗模式设置。留下您想看到的便携式用户设置的评论。

技术成果

这个项目不仅产生了一个简介的演示,而且产生了一些有用的技术分支:

get-ipfs

我们打算在Fission上做的一件事不仅是解决web2的缺点,而且为创建向web3的转变创造积极的理由。

开发人员在尝试使用分布式Web时可能面临的最大问题之一是进入门槛很高。我们将IPFS后备功能包装到它自己的包中:get-ipfs。这是您新的一站式商店,用于将IPFS实例加载到网页中。它非常简单const ipfs = await getIpfs(),您可以在Web应用程序中直接使用去中心化Web进行P2P使用。试试看,让我们了解它如何为您服务。

Fission JavaScript客户端

该应用程序也是我们首次在站外使用Fission JavaScript客户端。P2P添加/获取完成后,必须通过HTTP发送对pin的请求。但是,这个库具有在HTTP上创建启用ipfs的应用程序所需的所有功能。看看图书馆,看看您能想到什么炫酷的用途。

托管IPFS节点

在我们已经托管IPFS节点的同时,托管的节点现在更加健壮。它能够处理安全的Websocket连接(因此可以与浏览器内的js-ipfs节点通信。)并将数据存储在S3中。查看我们发布的在AWS上设置您自己的IPFS节点的演练。

同样,请在此处查看演示,或者继续阅读以了解如何构建和托管自己的演示。

运行/部署自己的应用程序

Fork the repo

注意:仅当您计划部署自己的用户设置应用程序时才需要这样做。如果您只想在本地运行,只需克隆存储库即可。

单击存储库右上角的“Fork”

本地Clone回购协议在终端中,clone IPFS用户设置报告:

●git clone https://github.com/$YOUR_USERNAME/ipfs-user-settings.git

●cd ipfs-user-settings

设置环境

环境变量是可选的,但需要设置为最佳用户体验。

首先,在存储库的根目录中创建一个.env文件:

运行.env

您的.env最终将看起来像这样:

● REACT_APP_DEFAULT_CID = QmUWWqCNSdZmus7mc52um5cpqUi1CaE97AzBTY7iWfBXV9
● REACT_APP_BOOTSTRAP_NODE = /dns4/ipfs.runfission.com/tcp/4003/wss/ipfs/QmVLEz2SxoNiFnuyLpbXsH6SvjPTrHNMU88vCQZyhgBzgw
● REACT_APP_INTERPLANETARY_FISSION_URL = https://runfission.com
● REACT_APP_INTERPLANETARY_FISSION_USERNAME = ADD_USERNAME_HERE
● REACT_APP_INTERPLANETARY_FISSION_PASSWORD = ADD_PASSWORD_HERE
让我们来看看这些变量的作用

REACT_APP_DEFAULT_CID:包含希望新用户看到的默认设置的cid。您可以为我们推荐的默认值将其设置为上述值(或者将其留空,它将默认为上述值)。

REACT_APP_BOOTSTRAP_NODE:您希望用户的节点连接到的ipfs节点的multiaddr。您可以将其设置为上述值以连接到 Fission hosts的ipfs节点(或者将其留空,它将默认为该值)。

注意:如果使用自定义节点,它必须与js-ipfs互操作。这意味着它要么需要通过WebRTC连接,要么需要通过安全的Websockets连接(请注意上面的multiaddr中的wss)。

REACT_APP_INTERPLANETARY_FISSION_…:最后三个变量是您为使用Fission web api提供的帐户信息。它们用于将内容固定到Fission ipfs节点,这样即使用户离线,内容也将保持在线。如果将其留空,则webapp不会锁定用户内容。目前,这些可以通过加入Fission Heroku附加子Alpha来获得。如果您已经试用过我们早期的照片库演示,则可以在此处使用相同的凭据,否则请按照该教程提供用户名和密码

本地运行应用程序

第一个安装的依赖关系:

npm install

然后运行应用程序:

npm run start

这将在您的浏览器中打开一个页面http://localhost:3000。

随便了解一下。尝试更改设置、保存设置并加载之前的CID。

构建应用程序

要使用正确的内部链接构建应用程序,您需要更改主页:

打开package.json并将主页更改为此网站的宿主url($YOUR_USERNAME.github.io/ipfs-user-settings)。

构建应用程序:

npm run build

部署应用程序

使用您最喜欢的工具:Heroku、GitHub页面等。或者如果一个月后您正在阅读本文,请使用新的“Fission Live”工具

我们为GitHub页面提供了一个部署命令。

首先,确保您的存储库设置为git remote。

如果它仍然设置为fission-suite,这就不起作用。

运行:git remote-v并确保remote旁边的url是https://github.com/$YOUR_USERNAME/ipfs-user-settings.git。

如果你早一点提出回购,应该没问题。如果你确实需要更换遥控器,那就运行

Git远程设置原点https://github.com/$your_username/ipfs-user-settings.git。

部署应用程序:

npm run deploy

现在打开您的浏览器$your_sername.github.io/ipfs-user-settings查看您的站点是否正常运行。

—END—

本文由IPFS原力区编译,原文链接:https://blog.fission.codes/ipfs-user-settings-app/

【IPFS原力区】

价值观:价值 共建 共享 荣耀

总部位于上海,聚集基于分布式网络&存储的众多技术大咖和爱好者,深耕基于 IPFS 的商业生态建设和社区发展。

每周二举办“分布式存储网络”主题沙龙,聚集了众多技术大咖和 IPFS 爱好者,通过持续输出全面、精细、优质的 IPFS 咨询和技术支持,将生态中的爱好者转化为 IPFS 支持者和参与者,共建 IPFS 生态的健康发展。

  • 正序
  • 最新
沙发,很寂寞......
登录 账号发表你的看法,还没有账号?立即免费 注册
帖子数 294 获赞数 3
总部位于上海,深耕 IPFS / Filecoin 社区发展与商业生态建设。秉持价值、共建、共享、荣耀的文化理念,以分布式存储服务成为行业的基石为使命,构建和成为Web 3.0 的基础设施。
推荐节点
热帖榜
热门跟帖