About a month ago, I decided that I wanted to have a standalone tool to engage with the Steem blockchain from my Windows desktop. Web sites are great - especially for off-chain visitors - but blockchains are supposed to be accessible by "peer to peer" methods, too. So, I thought I'd put forward some effort in that direction.
Since I was already aware of a couple apps that were in use several years ago, my first step was to clone them and see if I could bring them up to date. I was hoping it would be simply a matter of compiling and then making a few configuration changes. No such luck, though. I failed miserably.
So, first I started reading/watching tutorials for nodejs and npm, but everything I looked at pointed me back to a series of prerequisites, so it seemed like I kept moving away from my goal, instead of towards it. After about half a month, I gave up on that line of activity (for now?).
Next up:
So, I "failed fast" and moved on to dusting off the Java --- stuff that I was working on a couple years ago. I am far from expert with Java, but at least I could get a program running and have it talk to the Steem blockchain. Hopefully, then, I can be a little bit productive with Java while I learn the additional skills I need to make a useful Open Source client of some sort.
A big part of the reason that I stalled with Java a couple of years ago was that I had no idea how to make it useful for anyone else. I could only run my program in the IDE. So, this time, I wanted to tackle that problem before moving on to do much actual programming.
Thus, my first two goals were:
I'm pleased to say that after a great deal of cursing at the computer, I accomplished both. In this case, the toy app just displays the number of Steem operations per block in a speedometer type of visualization (hence, "Steemometer"). Here's what my toy app looks like (at the moment):
To get this far, I have installed and configured the following components:
Along the way, I also had to start learning about Maven, which is a build manager for Java. Netbeans also offers Gradle and Ant, but I chose Maven because that's the first one I got working. So... instead of learning about npm, I'm learning about Maven. ;-)
For an IDE, in addition to Netbeans, I also played around with Eclipse and VSCode, but I stuck with Netbeans because that's where I had SteemJ working, and I didn't feel like fighting with another IDE in order to get that configured again.
Goals
For the next two weeks, I have the following goals:
I have some other things in mind, too, but I can basically only work on this during spare time on the weekends, so I'm trying not to be overly ambitious with my goals.
Longer term, I also have some unrelated ideas that I want to pursue, if I can ever make the time:
These are queued up behind creation of a java UI for posting, commenting, and curating, though... so @penny4thoughts remains offline now, and we'll have to be patient.
Visit the /promoted page and #burnsteem25 to support the inflation-fighters who are helping to enable decentralized regulation of Steem token supply growth.