Substreams Builders: James Mulqueeny, Building a Better World with Substreams

Substreams, Insights, The Graph By Jun 25, 2024 1 Comment
TL;DR: Learn how James got into Substreams and The Graph ecosystem, including his role in BuildersDAO and the improvements he believes this constantly evolving space will bring. 

James Mulqueeny is a member of the BuildersDAO, and has been working with Substreams for almost a year. We wanted to ask him about his experiences, background, and vision for the future of the technology.

From ETH hackathons to Substreams builder

Kevin McGowan: How did you end up getting into The Graph ecosystem and working with the BuildersDAO?

James Mulqueeny: I built some subgraphs. It was one of the technologies I picked up a few years ago when I was randomly researching loads of different web3 technologies. I thought it was cool. This was something I could actually develop and use to build a decentralized application. So I did, like a classic one you build for fun.

More recently, I did an ETHGlobal hackathon, where I built a subgraph. I won one of The Graph prizes and then reached out to them afterwards to say I was looking for opportunities in the blockchain ecosystem or web3 space. They said, “We’ve got a DAO,” so I applied and then joined.

Role in BuildersDAO

KM: Can you describe a bit of your role in the DAO and how it functions?

JM: My role at the moment in the DAO is twofold.

I like building things, and so that’s what I’ve been doing primarily. Although I initially had been building subgraphs outside of the DAO. The first kind of task that came up was around Substreams, so I built a pretty basic ENS Substreams to start with, and also started learning Rust at that time, which is what you build Substreams in. I was pretty stoked about it because I had wanted to learn Rust anyway, and when I started using Substreams during this task, I was pretty impressed with it.

I felt like this was game-changing for The Graph ecosystem.

Following that initial Substreams task, I started building a Substreams-powered subgraph for Curve Finance, and we recently finished the first iteration of that.

It was a good opportunity to throw myself into the deep, learn Rust, explore Substreams, and learn how to build this for quite a large blockchain protocol.

But outside of the development stuff, I also have the role of Subgraph Creation Manager, which involves management of subgraphs, Substreams, and all kinds of development tasks. So it’s been quite good to get involved with other bounties and working with people to complete these tasks. From a high level, that’s what I’m doing in the DAO.

I think most DAOs or groups in The Graph ecosystem are working towards the same goal: pushing the ecosystem forward. The primary focus of BuildersDAO, however, is utilizing The Graph’s suite of technology to build high-quality subgraphs and Substreams.

The path to web3

KM: Can you tell me a bit about your background, and how you landed in web3?

JM: So I actually did a software development apprenticeship in the UK, with a really good agency. And then, at some point during that, my friend was talking to me about Ethereum, and I thought it sounded cool, and then it kind of just started from there.

I think many people, similar to myself, will find themselves delving down this rabbit hole and feeling captivated. So while I was doing software and going down this web3 rabbit hole, I realized that I could engage in it from a technical standpoint. I thought, this technology is really cool, and I’m enjoying software development, so maybe I’ll try to combine the two and then just look for opportunities in the web3 industry.

You don’t really have to force your way into it, but you do have to seek it out. It’s not like in traditional software development where jobs are ten a penny. If you want to get into the web3 space, you’ve got to go looking for the role. So I did some hackathons, a lot of reading and research, and eventually found myself here.

KM: What was the appeal?

JM: So I think with Web 2.0, it is quite easy to see where the flaws are. We can also see the issues with centralization in society, and I think the web3 space and blockchain systems, in general, provide an alternative to the current systems.

I feel like that’s what everyone’s collectively building towards. We don’t completely know what we’re building but we see bits of the puzzle. We see it kind of slowly forming and it sounds maybe a bit cheesy, but we’re trying to build a better future. Because, at the moment, it’s a bit f*cked. It’s building towards something that matters and is better for everyone.

KM: Can you tell me more about that first big Substreams project? How did it go?

JM: Yeah, so Curve Finance is a big blockchain protocol. It has a ton of value locked in it across various liquidity pools. There are different types of pools available, and the protocol has been active since 2020.

So it’s a lot of contracts to track, and a lot of data to extract from them. Overall, it went really well and was a great learning experience. In hindsight, however, if I started the project again, I would approach it a bit differently, using the learnings I made throughout the process. This feels typical of most projects and is part of the learning process with new technology. Specifically, I would have divided the project into multiple Substreams packages, leaning into the modular and composable nature of Substreams.

Initially, there was a “teething phase” as I transitioned from building something simple to something much larger.

Current projects

KM: What are you working on now?

JM: So at the moment, I’m tinkering around with a new feature recently released by Graph Node, which allows Substreams map modules to act as triggers for a subgraph handler. Being a new feature, I am just kind of testing the limits of it and seeing what is possible. It feels like Substreams has introduced a new paradigm in terms of subgraph development, and this Substreams as triggers feature develops this further.

In this new paradigm, you’ve got Substreams and subgraphs, and they each will do specific jobs. Substreams will perform a lot of the heavy lifting, data extraction and transformation, whilst subgraphs handle other operations.

I’m not entirely sure what the division of responsibility will be between these components at the moment, so I’m interested to see, as time goes on, what best practices and design patterns emerge for these new Substreams-powered subgraphs.

KM: The constant change can be a barrier to joining the industry for some folks. What keeps people interested?

JM: Yeah, I get that the fast-paced nature of the industry can be a barrier to joining, however, I also find that people who are drawn to the industry generally have the desire to be at the forefront of innovation, or as I mentioned earlier, contributing to some larger picture that will bring about positive societal change. Don’t get me wrong, it’s challenging at times to keep up with the pace of the industry, but the evolving nature of it is also what makes it exciting.

Although we’re now over a decade into this web3 journey, I’d still consider it a nascent space, and in any nascent space, continuous change and iteration are inevitable.

I think there is something to be said about the improvement this continuous change is offering the ecosystem as a whole. If I compare the current state of affairs to when I first got into it five or six years ago, the difference is huge. I can say firsthand that the developer experience has improved considerably, as well as the user experience being much smoother. This is naturally going to continue progressing over time, and as it does, we’ll see more developer and user retention.

Regardless of the current barriers to joining, web3 and this entire movement feel like an inevitability. But maybe I’m biased.

KM: It was great to meet you, James!

JM: Thanks for having me, Kevin. It’s been an interesting conversation! For anyone interested in Substreams development or other areas within The Graph ecosystem, please check out The BuildersDAO and consider submitting an application. We’re always looking for motivated builders eager to get involved.


Learn & explore more

Check out our interview with another BuildersDAO member, Substreams Builders: Spotlight on Thomas Monte and Substreams Triggers.

Are you developing Substreams or interested in learning more about this tech?

Author

Kevin is a Program Manager at Pinax, leading our Knowledge Team. A seasoned project manager (PMP, A-CSM), he frequently speaks on PM subjects at conferences across North America.

1 Comment

  1. PaulieB says:

    Wow – so interesting to see how people got involved and to hear of things being worked on and developed. Great read!

Leave a comment

Your email address will not be published. Required fields are marked *