The same is true with open source releases, as release 0.3 has now wrapped up, release 0.4 begins! What better place to start than where I left off in 0.3? For this week I continued my work on Project Allium, which allowed for a new experience for me. After being added as a member of the group on GitHub, I was invited to attend the weekly meeting call the group has, and while I was unable to attend, there were a lot of implementation ideas created and noted, as well as made into issues. Immediately after seeing a list of new issues, I found one (or a few) that caught my eye; metadata! I have always been facinated about the concept of metadata, having data about data and thought this issue would be a perfect place to start.
This week I tackled what will be one pull request, however will be various solved issues due to the nature of how the issues are created. I fiest began by commenting on the issue I wanted to work on to let others know, but was quickly told that I have permissions to assign myself as the asignee, which I then did. From here I began to work on the issue, which was adding a metadata dictionary object to an existing blockchain object, allowing a blockchain to track all of its metadata in a member variable. Additionally this metadata needed to be updated upon the creation and addition of a block on the blockchain, and lastly all of this required testing.
This solution was very rewarding as the person who created the add_block function I needed to work with did an amazing job (it was me). Jokes aside, this did make this process much easier for me, being the one who created this function in my previous iteration, I came into this issue already knowing what everything does within the code. From here I used my object oriented mindset to incorporate the metadata member into the object and begin using it. I updated the values in the metadata after adding a block, and created tests to assure that this is being done correctly. My age old lesson came into play here as well as the wording of the testing was a little wonky, and I required some additional explanation in order to meet the requirements, which was not a problem and was explained well. Overall I feel like a real contributor! I am part of a group on GitHub, commenting on issues and pull requests, and making contributions, truly exciting.
Ongoing excitement! This has made me more excited to be continuing my work and my contributions as well as growing my knowledge of blockchain. I will continue and make my final external pull request on Project Allium, and find my way back to pySearch to continue my contibutions, and make my internal pull request. There are a lot of ideas on my mind currently for these projects, and I am looking forward to discussing and implementing them. Until then,