Listen to MakerDAO Polls in 5 minutes

A no code governance listener that could change the way you interact with DAOs

Michael Coon
BUIDLHub
6 min readMar 12, 2020

--

The MakerDAO governance system is brilliantly designed to rely on many smart contracts to autonomously empower the community to decide on the DAO’s direction. I won’t go into the fine-grained details of how MakerDAO governance works; instead, I want to focus on a challenge facing all DAO’s moving forward.

When something is submitted to the DAO, how does the community know to take action? The tricky part of being a “decentralized” organization is that there is no member database with email addresses, phone numbers, or Twitter handles. So when something requires attention, it is up to the community to seek out the details and act accordingly. This poses many challenges for decentralized governance in general.

Total decentralization is limited by the fact that web3.0 products must still rely upon centralized services

DAO members interact through web2.0 services like Telegram, Discord, email, Twitter, and Slack; and the infrastructure for DAOs often ends up on centralized cloud providers like AWS, Digital Ocean, Azure, and Google Cloud. Until web3.0 offers the capability to replace all the communication, infrastructure, and logistical components of web2.0, the two ecosystems must coexist and integrate. Unfortunately, connecting them has many challenges and compounds the complexity already facing many fledgling web3.0 initiatives. This is especially true for communication services that would normally simplify the process of telling the community when to vote.

Monitoring made easy

I want to show you how easy it is now to monitor the MakerDAO “PollingEmitter” contract and get notifications via email when something requires attention to vote. BUIDLHub was built for this very purpose — to bridge the gaps between web3.0 and web2.0 services.

Using BUIDLHub’s Eventflow tool makes this notification process extremely easy.

This flow above has two steps. The first step listens for specific MakerDAO events and the second step sends a formatted email when those events are detected. Seems simple enough, right?

The beauty of this flow, and Eventflow as a platform, lies behind the scenes—as it should.

As a community member without the team’s “insider knowledge”, putting the necessary requirements for this flow was very demanding. I had no idea which contracts I should listen to. The MakerDAO behemoth has multiple smart contracts delivering all kinds of functionality…

This is no exaggeration of my journey through the contracts.

Navigating the documentation was not obvious at all. After many hours of looking through MakerDAO’s GitHub repo, I ended up cheating and worked from the dashboard backwards. The source code for the MakerDAO Governance Dashboard referred to several other GitHub repositories, one of which, Dai Plugin Governance, seemed promising. I finally struck gold when I found this file, which listed all I needed to know in order to set up my monitors in BUIDLHub: the network, addresses, and ABIs.

I looked up the addresses listed in the Mainnet.json file on Etherscan and voila! The necessary information was ready to be deployed in a flow on BUIDLHub.

These contract addresses were not exposed anywhere else other than the Mainnet.json

Now switch over to BUIDLHub! If this is your first time, you don’t need to even create an account—you can play around with the templates available on our landing page. But it’s suggested you create an account (using Github OAuth).

Once inside, you’ll be presented two options: Design a Flow or Connect an App. There’s a third option as well, accessible in the left sidebar: Use a Template. We’re going to go with that route (but you could theoretically create a reusable “app” too—and use the same basic information available to you from the template to do it).

Using a Template

Hopefully, after you’ve authenticated into BUILDHUb, you’ll see a left sidebar. The second option presents you “Flow Templates”. Click that and scroll to the bottom. You’ll see a brand new template feature there.

Click on “USE TEMPLATE” for the MakerDAO Proposal Monitor.

Once you click that, you’ll launch BUIDLHub’s Flow Designer.

After you click to USE TEMPLATE.

With the template loaded, in the first step for 1. Specific Event, I can click on Step 3 “Map Output Fields” and scroll past the preselected output mappings to decide what fields to extract. Click “Add Outputs” so BUIDLHub can show you a field selector using the contract’s ABI.

Select the outputs you care about (optional)

In the second step 2. “Send Email to Yourself”, I configure a formated the email to include a link to the GitHub proposal document (you can use HTML/CSS here). After this was complete, I made sure to start the flow, which can be found in the top right of the screen (it’s hard to miss since it bounces around).

Next morning, I had two emails for new proposals that were submitted!

Take note that for formatting an email you can select the fields of interest with the “+” button and then add your HTML markup around this.

That’s it. You’ll get emails when new proposals come through!

What’s Next

Making the current ABI .json files and links to the deployed addresses is not a standard practice in the web3.0 industry.

For something as important as proposal queries, this information should be readily available—and it would be wise for DAOs to make sure it’s accessible in their developer portals.

It would be good to work out an automated mechanism to push this information into a common place for anyone to quickly access. Could BUIDLHub respond to deployments of certain contracts and automagically push the information somewhere for public access?

It would also be really nice to have notification subscriptions available on the Governance dashboard directly. Something like, if you want notifications, provide your email address, submit a form, and it either sets up this BUIDLHub flow for you in the background or redirects you over to BUIDLHub OAuth-style and creates the flow, you approve, and then bounces you back over the Governance page. We would love the opportunity to discuss this further with the community and make sure that we have an exit strategy so that we are not the central point of failure on all DAO notifications!

Final Thoughts

Achieving outcomes quickly is imperative to the broader adoption of blockchain solutions. Knowing when to vote is a likely expectation of anyone participating in a decentralized organization. Until we have a suitable alternative to web2.0 communications and a network of users onboarded to them, we have to rely on existing systems. Our goal with BUIDLHub is to bridge those gaps until we get there. Try it out today!

Looking forward to what these next few months hold in store for us. Share us some of your love ❤️ in our chats to give us new ideas or reach out to us by email to suggest new integrations!

Use Eventflow for FREE to dramatically reduce the time on blockchain-based event integrations.

Please join our community here:

--

--