My first Dogecoin PR was the trivial seeming PR 1835.
I was looking through Operation Such Frensly for interesting work, and I started playing with the Qt RPC console to see what it would take to add a GUI to do the same work as the the RPC-style private key import.
I noticed the reference to bitcoinprivkey
and decided to poke at the code to
find where it was defined.
Although a tiny PR like this seems trivial and easy, finding the right place to modify things and successfully modifying them isn’t always easy. That’s why I like starting with small things like this, and why I recommend other people do the same.
To make this change, I had to search through the code to find where this help
text appears. You can see from the PR it’s pretty much exactly where you’d
expect. Use a tool like grep
or ack
or any of a dozen great code searching
tools or IDE features to narrow things down.
Because sometimes these help messages can be autogenerated, I wondered if I’d have to read a bunch of code to find the source, but I was fortunate in that this text occurred only once. Another benefit of searching the entire codebase is to see if this phrase occurs elsewhere, but it didn’t.
In situations like this, where text gets displayed to users, a PR may need to include updates to make translations possible. You can see this in other PRs, especially when they touch the Qt GUI. In that case, you need to do extra work to make sure that the translation system knows to look for translated text. (I’ll cover this when I discuss another PR.)
What did I learn here?
After this PR, I had a good sense of the code structure around the help text of RPC commands and I had confidence about navigating the code that implements RPC commands. Patrick’s code review comments reminded me to set the target branch to the correct branch for development (Dogecoin 1.14.4 when I submitted the PR), which is a little detail I sometimes forget.
It was very heartening to get something tiny like this reviewed and applied in a day. That always encourages new contributors, and it gave me more motivation to continue on with my Operation Such Frensly tasks.