EPNS pledged in the 2021 Roadmap to release the alpha of Push Nodes, which will allow communication between Ethereum and its growing L2s.
The team is overjoyed to announce that the Push Nodes communication system has progressed beyond their original vision and is now capable of supporting several chains, including EVM and non-EVM chains!
Are you ready to discover how? Let’s get going.
EPNS Protocol Overview / Recap
EPNS Protocol is a collection of smart contracts that allow for:
- validation and governance via EPNS Core and
- communication via EPNS Communicator smart contracts and SDKs.
Understanding the EPNS Protocol’s two components is crucial because Push Nodes interact with them to provide decentralized communication — called Web3’s missing piece.
EPNS Core (Governance Smart Contract)
EPNS Core is in charge of the majority of governance and channel-related tasks, such as:
- Channel Creation
- Channel Modification
- Channel Blocking / Deletion
- Verified Channels
- Fees Management among token holders, etc
The Communicator Protocol is more easier in comparison, and it handles jobs such as:
- Opt-in for notifications
- Sending Notifs
- Delegating responsibilities of Notifs to other wallets
- Verifying multichain channel creation, etc
Note: the EPNS Communicator resides on multiple blockchains, both EVM and non-EVM compatible. In addition to being available as smart contracts, the EPNS Communicator SDK enables sending notification payloads directly to Push Nodes as well as enabling off-chain transactions.
Regardless of where a service chooses to transmit alerts from, the EPNS Communicator ensures that both on-chain and off-chain notifications can reach your wallet address.
ABOUT PUSH NODES
Push Nodes are the central piece of the network that enables the blockchain of Web3 notifications to work. In essence, they are validators that can be run by anyone in the future with staking and slashing.
Push Nodes have three crucial tasks:
- Listening: Every blockchain has Push Nodes that listen to EPNS Communicator smart contracts. They also allow for off-chain or direct communication through API requests from a backend or a dApp. EPNS can support almost any Web3 service thanks to its on-chain and off-chain communication listening.… ie: smart contracts, dApps, backends or direct payloads!!
- Validating and Governing: Validation (checking if the channel exists, is not spamming, is cross-chain validated, etc.) of the communication generated by the EPNS Communicator layers occurs via the EPNS Core layer, which has functions to enable governance and verify the presence of the channel.
- Admitting to Network / Dispatching: Finally, the Push Nodes accept notifications that are linked to a network wallet address, which can subsequently be accessed by any crypto frontend / wallet to show them. The dispatch capability is also provided in these nodes to allow bridging of Web3 notifications to be shown in Web2 apps in the event that the wallet / frontend / software wishes to do so rather than handling direct socket connections.
Push Nodes Architecture Deep Dive Infographic
The infographic below takes us deeper into the Push Node architecture
Key Functionalities of the Push Nodes
- History Fetcher (Syncing / Indexing)
- Web Sockets (Receiving)
- Validation and Admittance (Validators)
- Dispatching via Web Sockets (Dispatching)
- Dispatching via Web3 to Web2 bridge (Dispatching)
All of these characteristics, as well as the other critical data listed above, are available and operational, which is how you are receiving the web3 alerts that we all desired (though running in a controlled environment).
About Ethereum Push Notification Service
EPNS is building the world’s first open communication layer for the Web3 ecosystem, first for Ethereum and then for L2s and other blockchains. The protocol enables any smart contracts, dApps, or traditional servers to send notifications tied to wallet addresses of a user in a platform-agnostic fashion (ie: notifs can be integrated and shown on any crypto wallet, mobile apps, extension, or dApps).
Learn More Here: