cli_query Developer Q&A

The feeling was extraordinary, Being able to do work for and be paid by a decentrlized protocol is extremely powerful. The fact that you simply need to provide honest work and add value to the community was mindblowing to me.

cli_query Developer Q&A
cli_query Developer Q&A

One of the dominant spaces for crypto engagement and discussion is Twitter. With this in mind, it makes complete sense to have a frequent presence that showcases Decred’s features, analytics, and news. Automating these tasks can have considerable benefits and can actually be quite insightful for those not checking the chain data frequently.

To find out more about how Decred is utilising automation in the form of Twitter bots, I’m talking to DCR-Timestamp_bot and Coinshuffle_bot developer cli_query.

Anyone wishing to learn more about cli_query and their work, can visit:

JC60522 - Overview
JC60522 has 3 repositories available. Follow their code on GitHub.

Let’s start by finding out a little about your background?

cli_query: In terms of hobbies… I'm quite fond of cycling, spirited drives on my motorcycle and hiking when I get the opportunity. Oh…and of course learning IT stuff when I find free time. I have tons to learn and too little time on hand.

The way I got into development was somewhat random. For quite some years, I took a dive into the foreign exchange day-trading scene. After about 6 years, it was clear to me that it's not good for my health or my financials. Some good streaks, but overall not successful.

I like to think I was close to being successful and gave up just too early. I guess I will never know. Furthermore, I felt a serious desire to invest my time into an industry which has legs in terms of future demand and where I could get remunerated somewhat consistently for investing my energy as opposed to my day-trading endeavours.

With zero IT knowledge, I signed up for an online Data Science bootcamp. Struggled my way through it, but got it done in a couple of months. That's how I got into the Python learning curve.

After that, I took a couple of months off relocating etc and then covid happened. By that time, I had a good understanding of how currency debasement, etc., works, being in the finance industry for some years.

I basically dropped day trading, and it was a total no-brainer for me to invest what I had left in a sound hard capped protocol. In the long term, it’s a one-way trade, if you get in early which at this point we still are; you have plenty of leverage and zero counterparty risk without taking on any explicit leverage by holding the underlying core asset in a market which is very far from full market saturation.

A couple of months later, I felt the need to pick up on continuing my Python learning experience. I basically just started building random stuff. Without building stuff, learning a coding language is extra hard.

I was looking through the Decred Twitter feed and saw a request from a now well-known community member, Checkmatey. Asking if anyone was able / keen to build a Twitter bot which can do daily broadcast on-chain / mixing data for the Decred protocol.

I was not entirely sure if I could do it, but I took on the challenge, nevertheless, and that’s how I got my first Politeia proposal and also my first paycheck as a developer.

The feeling was extraordinary, I must admit. Being able to do work for a decentrlized protocol is extremely powerful. The fact that you simply need to provide honest work and add value to the community was mindblowing to me. I then learned Decred was written in Go from scratch, and at that moment I knew what my second coding language was going to be.

A dream of mine to contribute to the actual core protocol was not quite in reach, but goals were set. Sadly, at the time I had to get into a "normal" developer job to pay monthly bills and got a great opportunity at a startup which I still work at as my day job. I managed to convince my boss that I start porting some of my codebases over to Go in order to learn the language. Most of my code bases today are about 40% Go / 60% Python at this time, some leaning heavier to Go, hybrid of nature in essence.

I think working for a startup is good, as I learned a huge amount in the last year or so. I mostly do backend stuff, building rest services, etc., for front ends. We build mobile apps / web apps using microservices framework.

Phoenix: Thank you for sharing this story. Takeaways for me, that I find important, are how you got started coding; and coding through projects, so you can see the code in action; And how current members of the community can help bring others into the space with simple requests and interactions. Great insight!

My pathway into paid work for Decred was similar. For about a year, I used my Decred Society YouTube channel to create videos. I didn’t really anticipate anyone would watch, but I wanted to do them as a way of validating my ideas, thought processes and research. Then Exitus contacted me to ask if I’d be interested in creating videos for Decred through his video proposal. This was a real eye-opener, which I’m still immensely appreciative of. Once again, it’s about those seemingly small interactions that make people feel appreciated and included.

How did you become interested in cryptocurrencies, and what was the catalyst for diving in deeper?

cli_query: I was forced to take notice of it in 2017 with all the hype at the time. My finance day trading background possibly helped me along to realize the potential value in hard capped decentralized protocols… I'm a curious person and saw freedom technology staring at me. I had to investigate.

How did you find Decred and what year did you dive into the project?

cli_query: My first love was Digibyte. Then the creator Jared Tate tweeted one day saying something along the line of the only other truly decentralized protocol apart from BTC is Decred. It caught my attention and I believe in 2020 I dove head first into Decred.

Phoenix: That’s interesting, and it shows an openness, to Jared Tate, that although he’s built a very popular crypto project, he’s not blind to the fact that innovation is happening throughout the space.

What interests you about Decred, and how do you feel it differs from other projects you are interested in?

cli_query: The fact that it's BTC core redone from scratch in Go. The extremely active development. The energy available to keep development ongoing. The great community. The very elegant hybrid consensus model. The kickass wallet. The Dex. I can go on and on. Decred has a special place in my heart due to its uniqueness.

You’ve had two projects accepted by the Decred community. Starting with the most recent, “DCR timestamp bot”, can you explain how this came about, what can it be used for, and how does it work from a user's perspective?

Politeia - Decred’s Proposal System
Politeia is the proposal system that is used to request funding from Decred’s network treasury. The Decred stakeholders decide how treasury funds are allocated.

cli_query: Tiago front end developer / Decred contributor contacted me and asked if I am willing to maintain the bot and fix up some issues it was having. I was flattered and immediately accepted the request.

From a users perspective, you mention the bots handle in a tweet you would like timestamped on the decred blockchain. That tweet also gets saved to the ipfs network, which we built a nice front end interface for, through which the user can view the timestamped tweet.

In essence, timestamping data on the decred blockchain is cryptographic proof that a user anchored data to the blockchain at a specific time. Powerful stuff.

dcrtimestampbot reply
DCRTweetStamp server

For your first proposal you created “Stake Shuffle Bot” @StakeShuffle_, could you explain how this came about, the data on offer and how the user could use this information?

Politeia - Decred’s Proposal System
Politeia is the proposal system that is used to request funding from Decred’s network treasury. The Decred stakeholders decide how treasury funds are allocated.

cli_query: I’m no on-chain data expert, so I am going to be very careful to give hints as to how one can utilize this data. Checkmatey, being an on-chain ninja of sorts, requested this bot to be built, and I simply built out the features requested.

In short, I think it indicates on chain activity, so you can see how active the protocol is. When divergence occurs etc and derive conclusions from that. The bot also broadcasts other info such as network attack cost, new block rewards, treasury milestones etc. Short tit-bits of info for those who don’t want to specifically go and view the explorer for the info.

Do you see any other opportunities for Decred and Twitter bots? I, for one, would love to see a Decred tip bot similar to the one Nano uses.

Nano Tip Bot

cli_query: I think there surely must be untapped use-cases. I think your idea for the tip bot is pretty cool and definitely do-able.

Phoenix: Wow! I would love to see this built. What do you think "Decred community", would you be interested in supporting this initiative?

What would you like to see Decred work on next, and how might you be able to help with this?

cli_query: I think the decred dev team are highly capable and doing just fine in terms of milestones / continuously working on new improved functionality. There is no shortage of creativity. I honestly do not think, at this very moment, I can give valuable input on what to work on next. What I can say is just keep at it Decred devs, you guys are rockstars!

One day when I'm not a dev baby any more and can stand my ground, developing in Go. Plus, when I have free time on hand, I hope to find an issue / opportunity which I can contribute to in Go, getting my toes into actual Decred protocol contribution. That may just be a dream of mine, but hey sometimes dreams come true you know.

Finally, is there anything else you would like to add that could give the community a better understanding of your work or your ethos.

cli_query: I like truth, logic, and doing what is right.