現在已經有超過200 個服務集成了ENS,所以本文想展示一下dApp 如何能好好利用ENS。
在我們的文檔中,我們列舉了三種主要的集成ENS 的辦法。這裡我們也使用同樣的表述。
1. 解析ENS 域名
在應用中支持ENS 的第一步就是讓你的應用能夠理解ENS 域名,在所有需要用到地址的地方都支持使用ENS 域名。這對錢包服務來說尤其有用。
- 請看meyetherwallet.com 上的解析結果-
Etherscan 是大家最常使用的以太坊相關網站之一,你可以在上面檢閱自己所有的交易和賬戶餘額。除了搜索ENS 域名以外,一個比較少人知道的功能是,他們的URL 也支持ENS 域名,所以你可以直接在地址欄輸入“/address/matoken.eth”。
有人問我的以太坊地址的時候,我總會給他們我的ENS 域名,但不是所有人都知道什麼是ENS,怎麼用這個名字。如果你有很多個以太坊地址,那給出帶有你的域名的完整Etherescan URL,會是一個彌合知識差的好拌飯。對你來說極為簡單,輸入或者復制帶有你域名的URL 就行了,你也不需要時刻謹記哪個地址是用來幹什麼的,而且要跟你交互的人也不需要知道什麼是ENS。
2. 反向解析
ENS 集成的第二個層級是反向解析,在你的應用顯示地址的地方顯示ENS 域名。
可以在三種層面上實現這個特性。
2.1 用戶登錄狀態下顯示其ENS 名
Uniswap 會把你的ENS 名當成是你的用戶名那樣顯示出來。這是又一個ENS 幫助用戶在使用多個以太坊地址時分辨清楚的案例,因為你到底在用哪個賬戶會很清楚地顯示出來。
2.2 展示資產所有者/創建者的ENS 名
這個特性跟NFT 市場有密切關係。每個NFT 市場都有自己的用戶名系統,但你在Foundation 上的用戶名就無法在別的NFT 平台(比如OpenSea 和Rarible )上顯示出來。
但在KnownOrigin 平台上顯示的ENS 名也能在OpenSea 上顯示出來。換句話說,ENS 名是可移植的用戶名。
不過,不是所有的NFT 平台都做了這樣的支持,但這對NFT 藝術家來說是非常有用的,因為他們需要打造鏈上的品牌和身份。
如果你在一個尚未集成ENS 的NFT 平台上玩耍,請建議他們集成ENS,因為這是你的自主身份!無ENS,無鏈上姓名!
2.3 在一系列的以太坊地址中展示ENS 名
以太坊地址的列表可能是交易的歷史,或者資產所有者的列表、DAO 成員的列表、投票人名單,等等。
Snapshot 在展示投票結果的時候優先使用用戶在他們平台上選用的用戶名,但如果還未有這樣專用的用戶名,就返回ENS 名。
3. 讓用戶自己命名
綜合性ENS 集成的最後一步是幫助用戶把ENS 域名和你的應用所創建或管理的資源關聯起來。可以採取兩種形式:
3.1 域名註冊
讓你的產品獲得一個ENS 名,並讓用戶可以容易地註冊子域名,你的用戶就能為在你的dApp 中創建的資源命名。
許多錢包服務,比如Argent 和Authereum 都曾幫助用戶創建在產品域名下的子域名,但近期的gas/eth 價格高漲讓整件事情不可持續,因為他們要幫用戶付gas 費(我們正在開發L2 規範,能夠緩解這裡面的困難)。 Status 就不是讓用戶免費獲得域名,而是以SNT 代幣作價賣給用戶。
一個更新穎的方法來自Decentraland。他們不僅會在 dcl.eth 的主域名下發放子域名,還把這些域名都轉成了NFT,就像 .eth 頂級域名一樣,所用用戶可以在二級市場比如OpenSea 上買賣這些子域名。
3.2 域名更新
給用戶提供簡單的辦法,能夠讓他們把自己已有的域名指向在你的應用中創建的資源,這樣他們就能重新分配自己的域名。
SnapShot 也這樣利用了ENS,例如https://snapshot.org/#/gnosis.eth。
他們在任何你指定IPFS 端點的地方都用上了ENS 純文本記錄。
其它:跨鏈支持
雖然我們已經支持解析100 中區塊鏈的地址類型,但還是要錢包服務集成我們功能,這樣用戶才能用得上。
TrustWallet 是最早支持我們的多鏈特定的錢包之一,所以你可以發送BNB 到 vikmeup.eth。
支持ENS 的另一個用途是當你的應用部署在側鏈/L2 的時候。
Nifty.ink 是一種NFT 塗鴉服務,部署在xDAI 側鏈上,而他們已經集成了ENS。
我們現在正在開發L2 的辦法,而這種架構的好處就是讓任何人都能在L1 上查詢ENS 名,但都能在L2 上更新ENS 記錄,以節省gas 費。
雖然我們還沒找到從側鏈更新ENS 記錄的簡便方法,但能在L1 上直接讀取ENS 信息還是很好的集成方法。
總結
我們展示了多個集成了ENS、為終端用戶提供了良好體驗的dApp 案例。雖然支持所有三種層級比較難,但所有錢包都應該支持“1. 解析ENS 域名”,所有DeFi 項目都應該支持“2.1 在用戶登錄狀態下顯示ENS 名”,所有NFT 平台都應該支持“2.2 展示資產所有者/創建者的ENS 名”。
想了解更多關於集成方法的細節,請看我們的前端設計指南。
(完)
(文內有許多超鏈接,可點擊左下”閱讀原文“ 從EthFans 網站上獲取)
原文鏈接:
https://medium.com/the-ethereum-name-service/ens-integration-best-practices-313d6fbd358
作者: makoto_inoue
翻譯:
阿劍