IPFS原力区IPFS便携式用户设置
本文由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
开发人员在尝试使用分布式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原力区】
价值观:价值 共建 共享 荣耀
总部位于上海,聚集基于分布式网络&存储的众多技术大咖和爱好者,深耕基于 IPFS 的商业生态建设和社区发展。
(
- 免责声明
- 世链财经作为开放的信息发布平台,所有资讯仅代表作者个人观点,与世链财经无关。如文章、图片、音频或视频出现侵权、违规及其他不当言论,请提供相关材料,发送到:2785592653@qq.com。
- 风险提示:本站所提供的资讯不代表任何投资暗示。投资有风险,入市须谨慎。
- 世链粉丝群:提供最新热点新闻,空投糖果、红包等福利,微信:msy2134。