Inspiration
End-user communication is a vital aspect of any application, whether it is a traditional web application or a decentralized application (DApp). With the adoption of wallet-based authentication for web3, and wallets' inability to receive notifications, UX setback by more than a decade to the early days of web1, where users are expected to log back into the applications to get updates.
What it does
With Hedera Notification Service, we are trying to address this problem precisely by building the missing critical communication infrastructure that can relay information to wallet addresses.
Within HNS, publishers can create channels and communicate with their subscribers who opt in to receive notifications. Publishers can send broadcast, personalized and/or onchain messages to the subscribers.
Broadcast messages are a great way to reach out and notify users about things like DAO Governance proposals, Staking reward changes, or dropping off new NFT collections.
Personalized messages are used to notify the user of any important information specific to their account. This can include execution of their trades on decentralized exchanges or if a user's Defi loan is nearing liquidation, giving them an opportunity to take proactive measures before it's too late.
On-chain messages also come under the personalized category, but with one distinction. Instead of using our HNS portal or HNS APIs, Publisher's smart contracts invoke Hedera Notification Service’s notify public method with a message in specified formats. These messages are recorded as event logs on the Hedera Network. Our notification services periodically scan these event logs, identifies the sender and receiver of the messages, and notify the subscriber if he is subscribed to the publisher's channel.
In order to receive these notifications, the subscribers can log in to our HNS DApp using their HashPack wallet. After logging in, the users can browse all the available channels and subscribe to the channels they are interested in. Remember, HNS has taken a spam-resistant, user-centric, Opt-in based approach. So, the channels can send you messages only if you are subscribed to them.
Users can also configure a call-back URL or messaging endpoint, to receive a post notification on that endpoint from HNS whenever they receive a notification from a channel. This can enable a lot of interesting applications like automated decision making, KPI dashboards for Enterprise clients, DAOs, and sophisticated users.
With HNS, our mission is to improve the Web3 user experience by bridging the gap between Web2 and Web3 to enable the wider adoption of decentralized services. HNS users will be able better monitor onchain activity, and receive vital information related to their investments and transactions. At the same time, developers will be able to build next-generation event-driven systems and Dapps on the Hedera network
How I built it
- HashPack: For Hashgraph-Based Identity Management And User Authentication.
- Hedera Smart Contracts: For Onchain Messaging.
- Google Firebase Authentication: For Session Management.
- Google Cloud Function: For Serverless Back-End Development.
- Google Firestore: For Storing Messages.
- Google FCM: For Delivering Web Notifications.
- React JS. For Frontend Development.
Challenges I ran into
- Integrating Wallet-based authentication into Firebase Auth and Session manager.
- Coming up with a solid use case for Hackathon.
What's next for Hedera Notification Service
- Launch iOS app and Chrome extension for a better User Experience and consistent Notification delivery.
- Introduce tokenomics to make the platform self-sufficient, incentivize subscribers, and good actors.
- Integrate with IPFS
- Improve the user experience of the HNS Dapp by introducing features like Spam Scores for the channels, full-text notification search etc.
Log in or sign up for Devpost to join the conversation.