把 Blog 丟到中心化世界 - ENS(Ethereum Name Service)、Fleek
23 Jun 2021Post Directory
前言
近期以太坊 Gas Prices 一直都在 10 上下,除了可以趁機玩一下 Defi,你還可以為你的錢包地址註冊個名字 - ENS
如同 DNS 一樣,可以在有支援的地方直接以使用命名代替錢包地址使用
除此之外,透過 IPFS 部署靜態網頁後,還可以在 ENS 中設定,使 *.eth.link
這個 http 的 domain 可以指向該靜態網頁
這邊使用 Fleek 這個託管服務幫忙自動從 github 上拉 code 部署靜態檔網頁到 IPFS 上,這樣就可以自動化部屬了 (ゝ∀・)
註冊 ENS
以下部分截圖使用 Ropston 測試鏈
Step 1. 尋找可註冊的名稱
Step 2. 選擇租用的時間後,會需要打兩筆交易
此時就可以使用了
這邊邏輯其實很簡單,根據文件所說,這邊存在了兩個角色 registry 與 resolvers
當我們需要解析 foo.eth
時,會先詢問 registry 他的解析器(resolvers)合約位置
然後在去問 resolvers 實際註冊的 address
文件也有提到,名稱透過簡單的 hash 方式(EIP-137: Ethereum Domain Name Service - Specification),mapping 你的 address
hello-eth.eth
=> 0x1ca099fe2f8f291a0c6c71cb1a4d38755dd87d05df7ec77ace53ddaf77ff517b
直接戳合約
https://ropsten.etherscan.io/address/0x42D63ae25990889E35F215bC95884039Ba354115#readContract
可以直接問到你的 address
如何使用 ENS 當你去中心化網頁的 Domain
在今年 1 月,ENS 與 Cloudflare 合作,可以透過 ETH.LINK
Domain 指向 IPFS 上的服務
間單補充:ipfs - 根據維基百科,IPFS 是一個旨在建立持久且分散式儲存和共享檔案的網路傳輸協定。
因為可以在上面儲存各種內容,也可以透過特定方式直接讀取,因此上傳靜態網頁也是合理的吧(X
Host a single-page website on IPFS
這邊就不做展開了
然後 domain 的部分,如果你有仔細看 ENS 的 dashboard 的話,你就會發現它可以設定各種 metadata,有沒有感覺到熟悉感
source: https://docs.ipfs.io/how-to/websites-on-ipfs/link-a-domain/#ethereum-naming-service-ens
因此就可以指向你的 IPFS 上傳後的位置,官方教學如下:
什麼,覺得太麻煩了,學學 IPFS 然後在 ENS 上改東改西
那來看看官方推薦的服務吧
託管靜態網站到去中心化世界
在一言不合就要 XXX as a Service 的年代,肯定要弄個 XaaS 來方便服務的推廣
這邊還整合了各種框架,如 React, Next.js, Gatsby, Jekyll, Hugo…
這邊以我 github page 專案為例:VagrantPi.github.io
在建立好帳號後,連結 github 選擇專案
選擇要部署到 IPFS 上
然後是專案要部署的方式
下一步後就進到 dashboard,等待部署完成
如果中途沒遇到意外,在等待一段時間後就可以在 fleek 的 domain 下看到你的網頁了
- https://aged-smoke-1206.on.fleek.co/
那 ENS 呢?
在 SETTINGS > Domain Management > ENS > ENS INFO > ADD ENS
此時會需要再發起一筆交易,由 Fleek 代管 IFPS Domain 的更新
然後再等一段時間後,就可以透過 *.eth.link
連上你的網站了
之後推 code,fleek 也會自動部署了
是不是很簡單呢?
恭喜你也在去中心化世界留下一個足跡了。ヽ(●´∀`●)ノ