Fleek 使 ENS+IPFS 网站的部署和维护变得容易

如何做到将一个现代前端开发的网站部署到 ENS+IPFS ,本文带大家熟悉一下流程:

  • 将网站变成单页应用程序 (SPA)
  • 在 Fleek 上设置持续集成 (CI) 并转移控制器
  • 设置 SSL 证书

将网站变成单页应用程序 (SPA)

将网站部署到 IPFS 的一个问题是 IPFS 不提供动态路由,因此 /swap URL 仅在拥有资产时才有效。解决方法是使用 HashRouter (#) 方式,可以在 Uniswap 的 ENS+IPFS 网站上看到。这种结构在现代前端中算是比较常见了,不需要编码去实现,例如VUE、Anglar等开发框架都支持。

将网站变成单页应用程序 (SPA)

在 Fleek 上设置持续集成 (CI) 并转移控制器

Fleek 可以轻松构建隐私、加密和 p2p 功能并将其集成到站点、Web 和本机应用程序中。它们不仅在本地与 IPFS 集成,而且还会在将 PR 合并到 master 时自动将新的 IPFS contenthash 设置到 ENS 中。

前提是要允许 Fleek 更新 ENS 名称的内容记录,必须“将 Fleek 设置为 ENS 控制器”。

注:ENS名称有 RegistrantController 之分,一个名称的 Registrant 是该名称的最终拥有者,可以设置谁是 ControllerController 是可以为一个名称设置记录的账户。这个很有用如果希望其他人能够为其设置记录,但又不会永久完全放弃对该名称的控制。Fleek 充分利用了这一区别:让 Fleek 成为控制者,因此他们可以为其自动设置内容记录;但没有改变域名所有权,可以随时删除 Fleek 的控制。)

让 Fleek 成为控制者,因此他们可以为其自动设置内容记录

如果个人不拥有要使用的 ENS 名称(例如,如果正在为项目团队这样做),那么必须要求所有者从 ENS 应用程序手动设置控制器。

需要注意的是 Fleek 每次更新 ENS 上的 contenthash 都要支付 gas 费。

设置SSL证书(可选)

如果希望指向网站的 eth.link 网关链接具有 SSL 证书,并且如果将 IPFS 站点部署到二级 ENS 名称(例如ens.eth),则无需执行任何操作:已经拥有 *.eth 通配符 SSL 证书设置。

如果 Manager 应用程序中手动更新子域上的内容记录,则无需执行任何操作,因为 Manager 会告诉 Cloudflare 为每个子域创建一个新证书。对于之前不在 Cloudflare 上的网站可以进行迁移,通过运行一个批处理脚本来请求证书,因此在大多数情况下不必这样做。

当让 Fleek(或任何其他不使用我们的 ENS 管理器应用程序的方法)在子域上设置内容哈希时,需要从 ENS 管理器应用程序页面单击“请求 SSL 证书”按钮。创建新 SSL 证书的时间不应超过 30 秒。

在它的背面,站点发送一个 PUT 请求,https://eth.link/names/{subdomain.yourdomain.eth}.link 来更新,如果给定的域名存在并且设置了 contenthash,则该请求将创建一个证书,这些操作都可以设置为自动的方式。

ensfleekIPFS