Skip to content

typo-terminator/ethereum-push-notification-service_push-dev-docs

 
 

Repository files navigation

description
A quick introduction to Push Protocol

⭐ Getting Started

Push Protocol (previously EPNS) is the world’s first decentralized communication & notification protocol for Web3.

Using the protocol, any smart contract, dApp, or backend service can send on-chain or off-chain notifications tied to the wallet addresses of users in a gasless, multichain, open, and platform-agnostic way.

Being an open communication middleware, notifications can be integrated and shown on any crypto wallet, mobile app, browser extension, or dApps enabling a native communication layer for Web3.0

Quick Guide to Getting Started with Push Protocol 🛣
  • Any user who activates themselves on the protocol to send a notification is called a Channel.
  • In other words, a Channel is any service (protocol, dApp, or even web2 service) that wants to send notifications out to web3 usernames (wallet addresses).
  • A wallet address can create only one Channel on the protocol.
  • A channel is free to delegate (or revoke delegates) sending notifications functionality to any other wallet addresses on their behalf.
  • Creating a channel requires 50 PUSH, Channel info (Channel name, Image, description, CTA), and some ETH.
  • Channels can send notifications to their users(wallet addresses) in a number of ways, including:
    • Javascript SDK (Gasless. Best for automated logic from dApp / Backend)
    • Showrunners Framework (Scaffold/Gasless. Best for automated logic via scaffold backend)
    • Smart contract to Smart contract (requires gas, Best for instant on-chain events, piggybacks on an on-chain transaction via Interface ABI call)
    • Manually from Push dApp (Gasless, Best for manual logic)
    • Users can gaslessly opt-in to receive notifications from these Channels. See the entire walkthrough here.
  • Opted-in users are called subscribers of the Channels. Subscribers of the Channel receive notifications from those Channels in their Inboxes.
  • Non-opted users or non-subscribers of the Channel aren't alerted when they receive a notif from a non-subscribed channel, instead, it lands in their spam folder.
  • Currently, we have Staging and Prod dApp that interfaces with EPNS Protocol to enable communication & notifications.

Developer Guides & Concepts

{% tabs %} {% tab title="Channels" %} 🖥 Learn everything about channels, their working mechanisms, and how to create one.

{% content-ref url="concepts/create-your-notif-channel/" %} create-your-notif-channel {% endcontent-ref %}

{% content-ref url="developer-guides/create-your-notif-channel/" %} create-your-notif-channel {% endcontent-ref %} {% endtab %}

{% tab title="Notifications" %} 🔔 Explore all about notifications, their types, the different ways of sending and receiving notifications as well as other imperative details.

{% content-ref url="concepts/web3-notifications/" %} web3-notifications {% endcontent-ref %}

{% content-ref url="developer-guides/sending-notifications/" %} sending-notifications {% endcontent-ref %}

{% content-ref url="developer-guides/receiving-notifications/" %} receiving-notifications {% endcontent-ref %}

{% content-ref url="developer-guides/sending-notifications/notification-payload-types/" %} notification-payload-types {% endcontent-ref %} {% endtab %}

{% tab title="SDK" %} ⚙ Understand the key features of EPNS SDK and how to use it in your own project easily.

{% content-ref url="developer-tooling/push-sdk/" %} push-sdk {% endcontent-ref %}

{% content-ref url="developer-tooling/push-sdk/epns-sdk-starter-kit.md" %} epns-sdk-starter-kit.md {% endcontent-ref %} {% endtab %}

{% tab title="Push Chat" %} 📝 Learn about the details of Push Chat and how to easily integrate it.

{% content-ref url="concepts/push-chat-for-web3.md" %} push-chat-for-web3.md {% endcontent-ref %}

{% content-ref url="developer-guides/integrating-push-chat.md" %} integrating-push-chat.md {% endcontent-ref %}

{% content-ref url="developer-tooling/push-sdk/sdk-packages-details/epnsproject-sdk-uiweb/push-support-chat.md" %} push-support-chat.md {% endcontent-ref %} {% endtab %}

{% tab title="Showrunners" %} 🛠 Learn about the showrunners framework and how to use it to build out notifications for your specific use cases.

{% content-ref url="developer-tooling/showrunners-framework/" %} showrunners-framework {% endcontent-ref %}

{% content-ref url="developer-guides/sending-notifications/using-showrunners-scaffold-gasless.md" %} using-showrunners-scaffold-gasless.md {% endcontent-ref %} {% endtab %} {% endtabs %}

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published