Introducing Decred Developer @dreacot

In this series, we aim to find out a little more about the developers who make the Decred project possible. The aim is to touch base with what they are up to now; where they see the project going, and to find out more about what brought them to the project.

Introducing Decred Developer @dreacot
Introducing Decred Developer @dreacot

In this interview, we gave a shout-out to the developer community to see who would be interested in being the first, and that acknowledgement and respect goes out to Dreacot.

Firstly, if you want to find out more about Dreacot and his Decred commits you can find him on GitHub with the alias @dreacot, and on Twitter as @kennedy_izuegbu, he is not really active on twitter, though.

Phoenix – Can you tell us a little about your background and how you became a developer; Your programming languages and how you got involved in Decred?

Dreacot – I have always wondered what the inner workings of a computer were, ever since I was much younger. I see software running on phones and always thought to myself, “you would have to be on another level to do stuff like this”. Well one day in 2015, I did a Google search, “How to make Android games”. I came to learn the language of Android was Java at the time. I downloaded a textbook on learning Java and began from there, back when NetBeans was still a decent IDE. Fast-forward a few months, I had published my first game to the Google Play Store. I kept getting more project ideas and found out Java was not going to be enough, so I had to keep learning more languages. Today I build software using languages/frameworks like PHP, Java, Kotlin, Swift, JavaScript, Go, C#, Dart, Laravel/Lumen, Vue.js, Node.js and Docker.

I got introduced to Decred by a friend, and I started writing code for Decred in late 2018. I aimed to make some updates and fix bugs on a project called webtail, it’s a browser-based remote log viewer written in Go. That’s how I also got introduced to Go, I had to pick up Go for the purposes of that project. So far, it’s been a wonderful experience, being part of something big.

Phoenix – That’s remarkable, and it seems like quite a common entry point for developers to start with small fixes and implementations before building up to more substantial areas of development. So, next question. What interests you about Decred, and how do you feel it differs from other projects you are interested in?

Dreacot – I love the fact that Decred has decentralized governance, every user has the opportunity to weigh in their thoughts or opinions on matters that surround Decred, which is something you do not usually see in other cryptocurrencies. From community discussions, to proposals voting, to consensus voting, to treasury voting, users can decide through governance. Decred also promotes privacy, which is a major concern, especially nowadays with the many lawsuits flying around. You do not need KYC to have a wallet unlike custodial services like Binance, you can start sending and receiving on the fly. You also have StakeShuffle which can mix your coins for extra privacy. Privacy and decentralization are two ingredients required for true freedom.

Decred Governance

Phoenix – I couldn’t agree more. The governance system of Decred was one of the main points that got me started. It does frustrate me that the word brings such bad connotations from legacy governance. When done right, as in the case of Decred, it can produce extremely positive and unbiased results. What are you currently working on for Decred, and how is it progressing?

Dreacot – I’m working on GoDCR mobile builds. We are working towards getting test-net versions to the mobile stores. I have recently completed work on adding capability to vote on treasury transactions to dcrlibwallet and implemented the UI on GoDCR. I’m also working with @song50119 on adding BTC capability to dcrlibwallet, which would allow users to create BTC wallets on GoDCR and use it as they would on any other wallet platform. The main reason for introducing BTC wallet is, so it can be used with DCRDEX integration in GoDCR.

Phoenix – Personally, I believe that having a mobile wallet with similar functionality to Decrediton is a giant positive. As a side note – It’s worth understanding that the majority of youngsters aged between 14 and 19 years old no longer own conventional computers. Most of their interactions and experiences with computers are through Chromebook (web only computers), phones or tablets. Which means if we ignore this area, we will be missing out on a massive market.

Another thing that impresses me about GoDCR is its one build deployment, which means it can be built for each of the above devices without needing different versions for each. My hope is, this development continues, and it’s great to see that you and the team have made such innovative progress. For anyone who is interested in finding out more about GoDCR, @exitus has put together this fantastic tutorial.

GoDCR: Lightweight SPV wallet for Decred | Quick Overview
GoDCR is a new Lightweight SPV wallet for Decred. Written in Go as an alternative implementation to Decrediton’s Electron version. This new framework will also enable a streamlined and consistant approach to porting wallets across platforms including ios and Android. GoDCR Proposal on Politeia: htt…

How does your work help grow the Decred project? e.g. specific use cases; fixing issues, improving workflows etc..

Dreacot – H.E. Luccock says "No one can whistle a symphony. It takes a whole orchestra to play it”. I’m just one part of a bigger team/ecosystem. While I strongly believe the growth of Decred is based solely on team effort. I have been able to make my fair share of contributions.

I work on implementing new features. New features are usually tricky because you have many moving parts and have to account for several factors into your research and design. It’s typically the most fun for me, as you get to work on something original, especially when it’s a highly requested feature from users. One of the most interesting features I have worked on so far was adding Politeia Proposal viewing to the Decred Wallet mobile apps. I started the implementation on dcrlibwallet, so other apps could share the capability. I had worked closely with a team member @codemaestro. I also had fun adding the consensus voting capability to dcrlibwallet. It’s currently available on the latest release version of GoDCR. Not to dwell so much on this, as I have been able to bring several new features into the ecosystem.

I also work on fixing bugs. Bug fixes are usually the most frustrating, but rewarding in the end because you have that feeling of achievement, which I would not trade for anything. There are the “walk in the park” bugs which are straightforward to solve, there are the bugs that give you a bit of a hard time, but you eventually crush it (pun intended). And we have the bugs which can be classified as nightmares because nothing you seem to know works, but after many days of being miserable, you finally fix the bug, and you get the feeling of achievement. One such bug was that of dcrios crashing on devices with less than 2GB ram, the issue gave headaches here and there, but as expected, the dev team came out victorious.

There are other tasks that happen behind the scenes. Like working with the design team on making sure they have all the information required to produce optimal designs. I'm also working with team members on resolving blockers, reviewing PRs to ensure code quality is maintained, and trying to keep out new bugs.

Phoenix – It’s not until you ask that you start to appreciate how much the development team and individuals actually do. Yet another reason for these Q&As. All too often, this work goes unseen by the community.

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

Dreacot – My biggest problem first coming into the Decred community was finding where I could purchase DCR from, that was a nightmare (Binance currently doesn’t support credit card purchase in my country). I still haven't found a reliable source to this day. I would like for users to be able to buy DCR using their debit/credit cards right from GoDCR or Decrediton. I would be able to contribute to certain aspects of the development. It would be a nice feature to have, especially for new people in the community looking to invest in Decred. That would definitely be a complicated milestone to achieve, but it’s doable.

Another thing we most likely need, is getting Decred listed on more exchange platforms, it’s always a nice touch to have it readily available.

Phoenix – I like the idea, of having credit / debit card payments available in the Decred wallets, and I also concede that buying DCR is still quite difficult for average users or users with restricted access.

Thank you so much for your time, and hopefully the readers will get a nice insight into the work you do for Decred and your aims for the future.