— ?介绍—为了打开市场,抹茶交易所不断的提升业务发展的能力,为其塑造卓尔不凡的品牌形象。
人们经常问我,ens是否可以指向一个ip地址来承载你名下的网站。我通常建议的是把你的网站上传到一个分布式的内容系统,比如ipfs或swarm,然后通过ens来实现。
我自己从来没有这样做过,所以我把?ens manager?复制到ipfs中,设置ensmanagermatokeneth解决此问题,并通过一个不太为人所知的ens gem(称为ethdns)链接在:ensmanagermatokenethlink下提供服务。
我是这样做的:?
①步骤1:修改你的应用程序
我们的应用程序基于create- response -app。除了大量使用graphql外,我认为它是一个非常标准的react应用程序。我们没有使用任何dapp框架(比如embark?或?truffle),因为前端应用程序通过npm包导入所有智能的合同abi。
您需要做的唯一大的更改是将路由从browserrouter更改为hashrouter,这样url将变成#namematokeneth而不是namematokeneth。此更改不仅适用于通过ipfs提供服务,还适用于任何无法设置动态路由规则将任何url重定向到?for spa(单页面应用程序)的主机环境。
一旦更改完成,请确保应用程序运行yarn启动或npm运行启动。如果您的应用程序没有损坏,那么您可以像运行任何其他项目一样运行构建脚本。
我经常做的一件事是,尝试在react项目外的build目录下提供已构建的资产文件,以确保其工作正常。最简单的检查方法是通过python内置的服务器提供服务
如果您的应用程序正在工作,那么它应该准备好发布到ipfs。
②步骤2:将构建文件发布到ipfs?
我没有详细介绍如何设置和运行ipfs守护进程(但这应该只是ipfs守护进程的问题)。
完成所有设置之后,添加刚才编译到ipfs中的构建目录。
最后一个哈希值qmsgkpturdhsvqmz2kfmgsnffaoxp6qtbvzafknucjkrz是您的项目的根哈希。让我们确保它有所有的文件。
③步骤3:设置contenthash为ens?
如果你现在没有ens的名字,这是一个很好的机会注册一个。只需到ens manager注册一个新名称,设置公共解析器,并通过选择“content”记录类型将ipfs添加到ens记录中。
一旦设置好,它应该显示指向ipfs网关地址的链接。
点击链接,然后…它显示了我们的ens管理应用。
④步骤4:通过ethdns访问它
如果您通过ens contenthash支持的浏览器钱包(例如status)打开它。您应该能够在ensmanagermatokeneth下看到相同的内容。然而,你不能指望所有的朋友和家人都能在ens支持的浏览器中看到你的内容,这就是ethdns的作用。
ethdns是jim mcdonald正在开发的一个项目,它得到了协议实验室的开发资助。它是coredns服务器的一个分支,它连接到ens,检查ens记录中是否有给定ens名称的contenthash记录,然后通过ipfs网关提供内容。
ens团队获得了ethlink域并将其dns名称服务器指向ethdns服务器。作为dapp开发人员,您不需要做任何设置,您所需要做的(作为一个用户)就是在您的浏览器中添加link到您的ens名称(例如,:ensmanagermatokenethlink)。
——全文完——
本文由ipfs原力区收集译制,版权所属原作者