# Week 21 ## Recap This week was much the same as the previous in terms of the scope of work. I continued to work on designing tests for the FINDCONTENT packet going through the History Network. I was able to finish the outbound tests for when the client makes a FINDCONTENT request and then turned my focus towards incoming requests. In finishing those tests I was also able to pick up a few bugs that had to do with packet byte length and was able to resolve them. I also had to deal with an issue I was experiencing when working with tests that did not need specified database interaction but still performed a database call (this occurrs in the case of put() which returns void). Basically the void calls still could not act on an uninitialized database object. So to resolve this I went a bit ahead in design and added the logic for database initialization outside of the History Network. In this way it can then be easily set up to use the users specified configuration at client start and then passed into the the History Network. This would also make setting up the link between Besu's database and the History Network more straightforward when that time comes. Otherwise, I continued to draft my final project proposal and am hoping to complete it soon. ## Learning Learning was very much the same as the previous week as well. ### Concepts #### Portal Wire Specifications The test vectors proved to continue to be helpful in designing appropriate tests. Additionally the specifications were a useful resource to find ways to cause unspecified behavoir to then test for. ##### Resources 1. https://github.com/ethereum/portal-network-specs/blob/master/portal-wire-protocol.md 2. https://github.com/ethereum/portal-network-specs/blob/master/portal-wire-test-vectors.md #### Mockito I continued to use mockito and to refference different functionality that it offers in order to see if there was a way I could more comprehensively test different actions. ##### Resources 1. https://site.mockito.org/ ## Moving Forward It has been a really enjoyable and hugely beneficial experience for me to have participated in the EPF. Furthermore, it certainly does not feel as though an entire 21 weeks have passed since I gave my first update. In many ways, EPF was my introduction to Ethereum in general, prior to the program my understanding was that it was some form of online currency. So to go from knowing nothing to having found a niche role that I thoroughly enjoy working on has been a fantastic experience. For me, it was also just more than an introduction to the Ethereum development space, it was my first real experience working on a large scale project outside of Academia. With this experience I was able to learn much about myself and drastically increase my confidence in the various skills that I both learned and used. Even something simple such as providing weekly updates during a meeting was quite foreign to me. Of course, the most important aspect of my participation was my project. I will likely also echo a similar sentiment in my final report, but through the accumulation of my experience as well as the tangible work that I produced I cannot label it anything but a success. Both for me and its development in general. Despite not meeting my now retrospectively incredibly ambitious goal I still believe that the project is in a good place. Which then begs the question of moving forward. I certainly am not going anywhere, and the end of the EPF does not mark the end of the Samba clients development. Moving forward I fully intend to continue my work on the project, and to remain in the Ethereum development space overall. With that being said, I look forward to meeting everyone attending Devcon and to continue to be a part of this great community.