Ethereum in real-time: Dagger — Simple engine to get Ethereum transactions, receipts and events in real-time

Somedays ago, someone sent random transaction to Parity Wallet and accidentally locked funds. No one knew about it until that person informed the team on Github. Currently there is no way to receive transaction (filtered) events from Ethereum and process them.

Etherscan sends you an email whenever anyone deposits to your accounts. But we need more ways to get informed whenever something happens on contracts. Simple example: getting a slack message or mobile notification when someone withdraws more than 10ETH or 1000 Tokens from your Multi-sig wallet?

To make that possible, we have created Dagger. We at Matic Network aim to make current decentralized eco-system more usable and easy for users and we believe Dagger helps developers to achieve that.

Dagger

Dagger is a simple development tool to get blocks, transactions or events triggered by Ethereum blockchain.

It uses pub/sub mechanism (MQTT protocol). Once you subscribe particular topic, you will start receiving messages that matches subscribed topic.

You can subscribe as many as topics you want.

We have already created javascript library which you use on Node and browser as well. You can use one of any available MQTT libraries to interact with Dagger.

var Dagger = require('eth-dagger'); // connect to Dagger ETH main network (network id: 1) over web socket var dagger = new Dagger('ws://mainnet.dagger.matic.network:1884'); // dagger server // Use mqtt protocol for node (socket) // var dagger = new Dagger('mqtt://mainnet.dagger.matic.network:1883'); // dagger server // get new block as soon as it gets created dagger.on('latest:block', function(result) { console.log("New block created: ", result.data); }); // get only block number (as it gets created) dagger.on('latest:block.number', function(result) { console.log("Current block number: ", result.data); });
Get latest Ethereum block using Dagger ?

Use cases

Here are some use-cases (not limited)

  • Send emails to your DApp users when their contracts get created and they are ready to use
  • Watch ERC20 token transfer from particular address
// web3 contract var web3Contract = new web3.eth.Contract(abi, address); // dagger contract var contract = dagger.contract(web3Contract); var filter = contract.events.Transfer({filter: {from: ‘0x123456...’}, room: ‘latest’}); // watch filter.watch(function(data, removed){ // data.returnValues.to : address to which it has been transferred to // data.returnValues.value : value which has been transferred }); // watch only once filter.watchOnce(function(data, removed){ // data.returnValues.to : address to which it has been transferred to // data.returnValues.value : value which has been transferred }); // stop watching filter.stopWatching();
Watch ERC20 token transfer from mentioned address ?
  • Receive slack messages when someone withdraws 1000 tokens
  • Automatically send broadcast new transaction when future block ‘X’ gets created
  • … and many more …

You can connect Dagger with any third party services using IFTTT or Zapier.

Here is an example to store every outgoing Aragon Multisig Wallet transaction into Airtable.

Here are useful links:

Dagger: https://matic.network/dagger
Dagger examples: https://github.com/jdkanani/eth-dagger-examples
Javascript library: https://github.com/maticnetwork/eth-dagger.js

Let us know how we can make Dagger better for developers to help them make better DApps.

Stay in touch with us by following us on Twitter.

More from the Polygon Blog
EY and Polygon to co-develop Ethereum scaling solutions for enterprises and launch Polygon Nightfall - a privacy-focused Rollup

14th September - EY, a global professional services and technology firm, is collaborating with Polygon on building and implementing scaling and enterprise solutions for the Ethereum ecosystem. As part of this collaboration, EY and Polygon will work on Polygon Nightfall, a public, privacy-focused Rollup. In addition to this, EY will offer its other flagship blockchain […]

Read More
Polygon: First Scaling Solution for Coinbase

The Protocol team was recently established at Coinbase to work on scaling Ethereum through integration with L2 and other ETH scaling solutions. The Coinbase team plans to integrate Polygon PoS as their first scaling solution for Coinbase. The Coinbase Protocol team is an experienced group of engineers at Coinbase focused on contributing to scaling blockchains and […]

Read More
Hermez Network is Joining Polygon and Becoming Polygon Hermez via the First Full-Blown Merger of Two Blockchain Networks

We are proud and excited to announce that Hermez, one of the most prominent zero-knowledge (ZK) cryptography-based scaling projects and teams, will be joining Polygon. Starting today, we will initiate the process of merging Hermez into the Polygon ecosystem, where it will be operating under the new name: Polygon Hermez. Polygon Hermez will become a part of […]

Read More
What do you prefer - Maximum Security or Cheaper Transactions?

The Ethereum scaling solutions space has been heating up lately. Which is a good thing, because Ethereum (and its community) needs scaling as soon as possible. As you know, Polygon's mission is to develop various kinds of Ethereum scaling solutions, from sidechains to rollups (and more). But all these solutions come with trade-offs. There's no […]

Read More
Polygon PoS in Numbers

Part 1: Polygon PoS engagement growth Polygon PoS set an all-time high for daily active users (DAUs) for the second consecutive week. Last week we saw an explosive week over week (w-o-w) growth of 16.64%. This week, Polygon PoS’ growth increased by 0.73%, bringing DAU to 177,300 active addresses per day. To contextualize this user […]

Read More
crossmenuchevron-down-circle