天天看點

探索 EPNS,一種對 DApp 友好的通知系統

作者:李留白

去中心化應用程式 (DApps) 每天都變得越來越流行,許多處理交易的智能合約部署到需要通知系統的各種區塊鍊網絡來跟蹤區塊鍊上的活動。

推送通知顯然已經存在了一段時間:簡單地說,它們提供了從伺服器接收消息的過程,該過程會觸發用戶端應用程式上的彈出視窗,對于 Web、移動和桌面平台可以有不同的形式。

在以太坊推送通知服務 (EPNS) 出現之前,沒有真正的方法可以在智能合約和 DApp 上實作推送通知功能。

雖然像 Metamask 這樣的一些錢包會通知使用者在他們的賬戶上進行的每一筆交易,但智能合約通知以前是不可能的。但是,在這篇文章中,我們将介紹以下内容以了解 EPNS 如何在 DApp 中工作。

什麼是 EPNS?

EPNS 是一種去中心化的通知協定,它可以無縫地為以太坊錢包位址(或使用者)提供通路權限,以接收鍊上或鍊下活動的通知。

借助 EPNS DApp,智能合約和後端應用程式可以以與平台無關的方式向使用者發送通知。

EPNS 通知之是以成為可能,是因為開放的通信網絡(也稱為推送節點)與錢包位址相關聯,使加密錢包、DApp 前端和其他服務能夠向使用者顯示通知。

EPNS 還有一個名為 $PUSH 的代币,使 EPNS 使用者能夠根據直接或間接的行為獲得獎勵。

EPNS 特點

以使用者為中心和選擇加入的通知

EPNS 協定允許使用者直接控制他們從哪些服務接收通知并對服務施加嚴格的規則,包括對使用者的垃圾郵件保護。

激勵使用者的通知

想要向訂閱者發送通知的服務必須抵押 DAI。在此過程中賺取的利息将部分配置設定給選擇接收通知的訂閱者。EPNS 通過使用獎勵來激勵發送者和接收者。

平台無關

EPNS 協定還啟用了可連續啟用通用通知的每個通知的可檢索資訊。它向任何加密錢包、移動應用程式、網絡浏覽器、應用程式或內建該協定的其他平台發送通知。

垃圾郵件分數和節流

頻道包含範圍從0到的垃圾郵件分數1。0表示通道得分很高,1表示通道極度不健康。

治理

協定治理旨在激勵繼續采用 EPNS 協定,這是通過為所有相關使用者提供激勵來實作的。

推送節點和 $PUSH 代币

EPNS 是一種協定,它有自己的節點(PUSH 節點),由 $PUSH 令牌管理。PUSH 節點監聽 EPNS 協定智能合約中的事件,并發送由相應接收者的事件觸發的通知。

什麼是 $PUSH 代币?

$PUSH 代币用于 EPNS 生态系統中的治理。EPNS 協定根據 EPNS 協定上的特定操作為使用者提供激勵,包括直接和間接訂閱頻道,使用者因參與 EPNS 協定而獲得這些激勵。

當在協定中向使用者提供令牌激勵時,使用者可以随時領取它們。這些代币激勵是使用AAVE aDAI (AAVE Interest Bearing DAI)[1]生成的。然後 aDAI 在提款時轉換為 $PUSH 代币。

一個 $PUSH 代币的總供應量為 100,000,000,并且隻會建立 100,000,000。在撰寫本文時,$PUSH 代币的價值為 1.13 美元[2],流通供應量為 $PUSH 代币總量的 15,287,926(約 15%)。

為什麼我們需要 Web3 推送通知?

推送通知是 Web2 生态系統中不可或缺的功能,并成為向使用者發送資訊和留住使用者的重要政策。但是,Web2 通知完全由應用程式自己建立和規定。

使用者幾乎無法選擇他們希望收到什麼樣的通知;他們可以關閉或打開應用程式通知。

另一方面,像 EPNS 這樣的去中心化通知為 Web3 生态系統提供了強大和改進的通知生态系統的好處,而沒有 Web2 通知的集中式缺點。

要接收 Web2 通知,使用者必須安裝他們希望從中接收通知的應用程式,或者通路他們的網站并接受他們的通知提示。

使用 EPNS,使用者無需安裝應用程式即可接收來自 Coindesk 等平台的通知;他們所做的隻是選擇加入他們的頻道,為使用者提供更多權力來決定他們選擇接收哪些通知。

與 Twitter、Discord 或電子郵件等平台相比,應用程式需要更好的方式以實時和事件啟動的方式與使用者進行通信。使用者還應該有一個更簡單的過程來控制他們收到的通知,并且應該從Web3 的開源性質[3]中受益。

受益于 EPNS 的去中心化平台

Web3 生态系統中的幾乎所有應用程式都可以從推送通知中受益。其中一些類型的 DApp 是:

  • • 去中心化金融(DeFi)[4]
  • • 去中心化交易所 (DEXes)
  • • 以太坊名稱服務 (ENS)/消費者應用
  • • 不可替代代币 (NFT) 和遊戲

去中心化金融

在 DeFi 中使用 EPNS 時,通知對借貸協定使用者很有用。有了這個,使用者可以設定通知,以便在他們質押的代币清算時得到通知。他們現在可以接收無縫通知,而不是定期手動檢查。

去中心化交易所

DEX 使用者可以設定通知,在交易完成時通知他們,而不是不斷地檢查。EPNS 使他們能夠得到無縫通知;例如,使用者可以建立有關天然氣價格何時有利的通知,以幫助他們決定何時進行交易。

ENS

諸如以太坊名稱服務 (ENS) 之類的應用程式可以在訂閱即将到期時通知使用者,而不是讓使用者定期檢查以提醒自己到期日期。

NFT 和遊戲

在市場上交易的 NFT 或遊戲中的商品可以連接配接到 EPNS,以在某些商品開始銷售或拍賣開始時通知使用者。

NFT 藝術家還可以在對他們的 NFT 出價或出價時收到通知,并為他們的 NFT 轉售建立通知。

EPNS協定解決方案的組成部分

EPNS解決方案由四個子產品組成:服務、管道、使用者和訂閱者。 服務是 DApp、錢包所有者或任何想要發送通知的 Web3 服務的位址,而通道是在 EPNS 協定上激活自身并可以建立通知的服務。

使用者是 Web3 參與者,他們希望接收有關 DApp、錢包或智能合約的通知,訂閱者是選擇從任何特定管道接收通知并可以選擇發送特定通知的特定管道的使用者。

如何将 EPNS 內建到您的 DApp 中

要将 EPNS 內建到您的 DApp 中,您必須建立一個 EPNS 通道。你可以在 EPNS the DApp mainnet website[5]或staging website[6]上執行此操作。通路該網站後,請按照以下步驟建立頻道。

首先,系統會提示您連接配接您的加密錢包(Metamask、Ledger 或 Portis,因為 EPNS 暫存 DApp 僅支援 Kovan 測試網絡)。

連接配接您的錢包後,點選建立您的頻道并上傳頻道徽标(徽标的尺寸必須為 128px x 128px)。

探索 EPNS,一種對 DApp 友好的通知系統

要激活該通道,您需要質押DAI 代币[7]以貢獻給 AAVE 上的生息質押池。

50 DAI 是最低質押費用,質押的 DAI 越多,管道産生的利息就越多。反過來,這會激勵訂閱者(在登台時,您會收到 50 DAI 用于測試)。

質押 DAI 後,您可以為您的頻道命名和描述。然後單擊SETUP CHANNEL将其激活。

探索 EPNS,一種對 DApp 友好的通知系統

成功建立通道後,您可以将其內建到您的 DApp 後端或前端應用程式中。

将 EPNS 內建到 Node.js 後端

要在後端內建 EPNS,您必須首先安裝 EPNS 後端生産或登台 SDK:npm install @epnsproject/backend-sdk用于主網或npm install @epnsproject/backend-sdk-staging用于staging。

接下來複制建立EPNS通道位址的私鑰;你可以在這個 GitHub 要點中找到代碼[8]:

探索 EPNS,一種對 DApp 友好的通知系統

将 EPNS 內建到 React 前端

要在 React 前端內建 EPNS,您必須安裝 EPNS 前端生産或暫存 SDK npm install @epnsproject/backend-sdk以用于生産或npm install @epnsproject/backend-sdk-staging測試或開發。

您可以在此 GitHub 要點中找到以下代碼[9]:

探索 EPNS,一種對 DApp 友好的通知系統

在前端應用程式上訂閱 EPNS 頻道

使用者還可以使用以下代碼[10]從前端應用程式訂閱 EPNS 頻道:

探索 EPNS,一種對 DApp 友好的通知系統

如何下載下傳 EPNS 和選擇加入頻道

您還可以通過從 Google Playstore 或 Apple Appstore下載下傳手機上的應用程式來使用 EPNS 。[11]

探索 EPNS,一種對 DApp 友好的通知系統

您還可以使用 EPNS 桌面和網絡應用程式,或在您的網絡浏覽器上下載下傳 EPNS 網絡擴充,然後連接配接您的錢包[12]并根據您希望接收的通知選擇不同的管道。

探索 EPNS,一種對 DApp 友好的通知系統

結論

推送通知仍然是使用者流行的應用程式功能,但對于 EPNS,Web3 的這一不可或缺的功能為使用者提供了對通知設定、他們希望接收的通知以及參與 EPNS 協定的獎勵的更多控制。

EPNS 改進了目前的 Web2 推送通知協定,Web3 使用者将從該解決方案中受益匪淺。我希望每個 Web3 使用者都使用 EPNS 進行無縫通知。

引用連結

[1] AAVE aDAI (AAVE Interest Bearing DAI): https://aave.com/aTokens

[2] 撰寫本文時,$PUSH 代币的價值為 1.13 美元: https://coinmarketcap.com/currencies/epns/

[3] Web3 的開源性質: https://blog.logrocket.com/best-practices-web3-providers/

[4] 去中心化金融(DeFi): https://blog.logrocket.com/top-5-decentralized-app-development-frameworks/#defi

[5] DApp mainnet website: http://app.epns.io/

[6] staging website: http://staging-app.epns.io/

[7] DAI 代币: https://blog.logrocket.com/develop-solidity-smart-contracts-hardhat/

[8] 你可以在這個 GitHub 要點中找到代碼: https://gist.github.com/elraphty/185250443a36d0495839d782364bef3b

[9] 您可以在此 GitHub 要點中找到以下代碼: https://gist.github.com/elraphty/5c1e25200d4a55b53600cd1b8ab392d2

[10] 使用者還可以使用以下代碼: https://gist.github.com/elraphty/a2fa428876fa981693ecadc1cbad3d9d

[11] 下載下傳手機上的應用程式來使用 EPNS 。: https://epns.io/

[12] 然後連接配接您的錢包: https://app.epns.io/

繼續閱讀