操作指南 | 使用IPFS+ENS托管您的Dapp并访问它
— 介绍 —
人们经常问我,ENS是否可以指向一个IP地址来承载你名下的网站。我通常建议的是把你的网站上传到一个分布式的内容系统,比如IPFS或Swarm,然后通过ENS来实现。
我自己从来没有这样做过,所以我把 ENS manager 复制到IPFS中,设置ensmanager.matoken.eth解决此问题,并通过一个不太为人所知的ENS gem(称为EthDNS)链接在http://ensmanager.matoken.eth.link下提供服务。
我是这样做的:
①步骤1:修改你的应用程序
我们的应用程序基于create- response -app。除了大量使用GraphQL外,我认为它是一个非常标准的React应用程序。我们没有使用任何dapp框架(比如Embark 或 Truffle),因为前端应用程序通过npm包导入所有智能的合同ABI。
您需要做的唯一大的更改是将路由从BrowserRouter更改为HashRouter,这样URL将变成/#/name/matoken.eth而不是/name/matoken.eth。此更改不仅适用于通过IPFS提供服务,还适用于任何无法设置动态路由规则将任何url重定向到/ for SPA(单页面应用程序)的主机环境。
一旦更改完成,请确保应用程序运行yarn启动或npm运行启动。如果您的应用程序没有损坏,那么您可以像运行任何其他项目一样运行构建脚本。
我经常做的一件事是,尝试在react项目外的build目录下提供已构建的资产文件,以确保其工作正常。最简单的检查方法是通过python内置的http服务器提供服务
如果您的应用程序正在工作,那么它应该准备好发布到IPFS。
②步骤2:将构建文件发布到IPFS
我没有详细介绍如何设置和运行IPFS守护进程(但这应该只是IPFS守护进程的问题)。
完成所有设置之后,添加刚才编译到IPFS中的构建目录。
最后一个哈希值qmsgkpturdhsvqmz2kfmgsnffaoxp6qtbvzafknucjkrz是您的项目的根哈希。让我们确保它有所有的文件。
③步骤3:设置contenthash为ENS
如果你现在没有ENS的名字,这是一个很好的机会注册一个。只需到ENS Manager注册一个新名称,设置公共解析器,并通过选择“Content”记录类型将IPFS添加到ENS记录中。
一旦设置好,它应该显示指向IPFS网关地址的链接。
点击链接,然后…它显示了我们的ENS管理应用。
④步骤4:通过EthDNS访问它
如果您通过ENS contenthash支持的浏览器/钱包(例如Status)打开它。您应该能够在ensmanager.matoken.eth下看到相同的内容。然而,你不能指望所有的朋友和家人都能在ENS支持的浏览器中看到你的内容,这就是EthDNS的作用。
EthDNS是Jim McDonald正在开发的一个项目,它得到了协议实验室的开发资助。它是coreDNS服务器的一个分支,它连接到ENS,检查ENS记录中是否有给定ENS名称的contenthash记录,然后通过IPFS网关提供内容。
ENS团队获得了eth.link域并将其DNS名称服务器指向EthDNS服务器。作为dapp开发人员,您不需要做任何设置,您所需要做的(作为一个用户)就是在您的浏览器中添加.link到您的ENS名称(例如,http://ensmanager.matoken.eth.link)。
——全文完——
本文由IPFS原力区收集译制,版权所属原作者
免责声明:
1.本文内容综合整理自互联网,观点仅代表作者本人,不代表本站立场。
2.资讯内容不构成投资建议,投资者应独立决策并自行承担风险。
- 贝佐斯最后一封股东信:宇宙希望你成为普通人,千万别让它成为现实2021-04-19 17:02
- Props,让互联网与区块链无缝对接的「中间件」2021-04-19 17:02
- Coinbase高管到底卖了多少股票?2021-04-19 16:03
- 通往未来之路:下一代互联网与Metaverse2021-04-19 16:03
- 央行前行长周小川谈比特币:要提醒,要小心2021-04-19 15:03
- 链上新知 |电子图片卖出7000万美金,让马斯克都来站台的NFT究竟是什么?2021-04-19 15:02
- Crypto VC,LP怎么投?2021-04-19 13:03
- 周末比特币融资利率跌至-0.03%低点,为7个月以来最低水平2021-04-19 11:02