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
Introducing Plonky2

Polygon Zero’s mission is simple: to use zero-knowledge proofs to scale Ethereum to a billion users, without compromising decentralization or security. Achieving this requires fast and efficient proof systems. Today, we’re excited to share Plonky2, a major milestone for zero-knowledge cryptography. Plonky2 is a recursive SNARK that is 100x faster than existing alternatives and natively […]

Read More
Polygon Takes A Major Lead In ZK Rollups; Welcomes Mir, A Groundbreaking ZK Startup In A $400M Deal

TL;DR: We are excited to announce that Mir, a startup building groundbreaking ZK tech, is joining the Polygon family in a $400M* deal. Mir gathered a team of talented cryptographers and engineers, and after almost two years of work developed the world’s fastest ZK scaling technology. The Mir team is now joining Polygon in order […]

Read More
Polygon Announces Polygon Miden - A STARK-Based, Ethereum-Compatible Rollup

TL;DR: We are excited to announce the newest member of the Polygon solution suite - Polygon Miden, an upcoming STARK-based, EVM-compatible rollup. The project is led by Bobbin Threadbare, former Facebook’s core ZK researcher who led the development of Winterfell. Today we are releasing Polygon Miden’s core component - Miden VM, the first open-source STARK-based […]

Read More
Why Web3 Developers Are Choosing Polygon Over Other Solutions 

When it comes to deploying on Ethereum, there is only one place that lets developers easily migrate their projects, offers a broad range of scaling options and has some of the industry’s lowest transaction rates. These are just some of the reasons why the number of teams using Polygon jumped 100-fold in the past year. […]

Read More
Polygon’s Breakthrough Year: 2021 in Review

Welcome to 2022! This is shaping up to be another amazing year for the Polygon ecosystem. But after an absolutely breakthrough 2021, it's got big shoes to fill. Over the past year, Polygon made big strides toward accomplishing its mission of bringing the next billion users to Ethereum. The network’s low-fee infrastructure attracted some of […]

Read More
All You Need to Know About the Recent Network Upgrade

Earlier this month, Polygon’s core development team with help from bug bounty  platform Immunefi successfully fixed a critical network vulnerability. Considering the nature of this upgrade, it had to be executed without attracting too much attention. We are now ready to give the full account of what happened. A group of whitehat hackers notified Immunefi, […]

Read More
crossmenuchevron-down-circle