Introducing Notify.js — Easy Front-End Notifications for Dapp Developers

Chris Meisl

By Chris Meisl in blockchain, usability, Notify on November 12, 2019


Today we are excited to announce Notify.js — which makes it even easier for Dapp developers to provide users with real-time transaction notifications. 

This release extends and enhances our API to provide teams with a comprehensive front-end JS library to track all parts of the Ethereum transaction life cycle. In this post, we will explore the origin of Notify, what it does, and the impact it has on your Dapp.

The Origins Of Notify

Blocknative originally launched with one product — Assist.js — at ETH Denver in February 2019. Assist provided Dapp users with both real-time transaction notifications and onboarding assistance. We were excited about the reception from the community — and worked to help dozens of great partners deploy Assist. 

In the course of working with those partners, we learned a great deal about our customers’ needs. Two consistent pieces of feedback from developers were that they wanted more composability and reduced package sizes. 

We listened to that feedback. Over the past several months, our development team focused on rearchitecting Assist to launch two new products — Notify and Onboard (which we will detail in a future post). 

How Does Notify Work And What Does It Do?

Notify makes it easy for developers to monitor in-flight transactions and provide real-time notifications to users. Blocknative operates a global node network — running custom monitoring extensions that capture the mempool 5x per second. Our monitors then emit events as transactions change state. We track transaction hashes, as well as wallet and contract addresses. We decode ERC-20 and ER-721 assets transfers and support custom contract decodes.

All of this empowers developers to easily consume events and serve alerts to end-users.

Notify - Server Notifications

An Example Of Blocknative's Transaction Notifications

Development teams — like Pillar Wallet — utilize Notify to improve engagement and provide their users with updates as their transactions move from Pending to Confirmed. And in the case where users issue Cancels or Speed Ups, Notify is there to keep developers updated on changing transaction hashes. 

An Easy To Use Front End Library

Notify originally launched as a robust API. On top of that, we built an SDK, enabling teams to interact with the API over a websocket. The SDK makes it easier to work with the API in Javascript, but doesn’t draw any pixels on the screen.

Notify can be used as an API, SDK, or JS framework

Notify.js is built on the SDK, which connects to the API 

To further simplify the experience of deploying Notify, we’ve launched a front-end JS library (which leverages the API via the SDK). Note, if you want to learn more about the SDK and API, explore our Docs.

Notify.js is the easiest way for developers to integrate real-time transaction notifications into their Dapp. In the course of creating this JS library, we took all of our learnings from Assist and implemented them with cutting-edge practices for a JS library. Notify.js has a very simple configuration, easy to override CSS, and leverages emitters, enabling developers to write handlers for only the message types that they care about. 

With Nofity.js developers get:

    • The entire range of Notify Alerts
    • Modern, customizable notification design
    • Easy mode to quickly support server detected events
    • Pre-flight mode to detect client events that could block transactions
    • Custom message support to override our defaults
    • Easy to override clear CSS
    • Built-in language localization 
      • We plan to work with the community to provide internationalized versions
    • Back-end reporting 
    • Optimized bundle size

All of this functionality is available to use today as an open-source Javascript library. Interested teams can learn more by exploring the Notify Docs and the GitHub repo. If you have questions, please connect with me in the Blocknative Discord.

How to Get Started

Developers can sign up for a free account to try Blocknative today. We have focused on making integration a seamless process. But if you or your team have questions you can can schedule a demo: 

Click Here to Book a Demo