In the last week of last month (April 23rd), I’ve got selected to work as a Google Summer of Code (GSoC) 2018 student for ScoreLab organization. I’m very excited not only being selected but also about the project since it’s a new and interesting domain for me.

So, this would be the 1st post of my post series for GSoC experience. Almost the community bonding period is getting over now. But let’s start from the beginning.

It was not an easy task for me to prepare a proposal for this project. But the curiosity and the interest towards the blockchain technology drove me to come up with a solution and write a proposal for ethereum blockchain parser for the project EtherBeat. As a summary of the proposed solution, it’s simply a parser which extracts information from ethereum blockchain files and stores them in an efficient manner to support the querying and analysis of EtherBeat.

After getting selected for the project, I had a discussion with the organization mentor regarding the project and what the real expectation by developing the proposed solution. That was a bit long discussion with organization mentor Charith to clarify the necessity, underlying concepts and basically the “Why” part of the project. That’s when I realized I need to go few levels deeper into the Ethereum blockchain and analyze the structures very well. So in the community bonding period, I had to familiarize with the project and do all my learnings with mentor feedbacks. Before stepping any deeper, first task was to fix some issues. The project had several issues mainly due to some broken packages, fresh installations didn’t compile. Discussed the issue with the project mentor and could able to fix it.

Basically thereafter I had to do all the learning activities. I had to master Ethereum blockchain, structural differences of ethereum and bitcoin, Go ethereum RPC endpoints and the limitations, Leveldb blockchain data storing process, new data structures (Trie, Patricia trie etc.) and many more. Here’s a full summary of what I learned in this period.

In parallel to all the learning activities, I did practice C++, mocked with several C++ libraries and familiarized with c++ code compilation helpers like cmake (CMake is a build system that uses a single script defined in a CMakeLists.txt file) to generate appropriate platform-specific build scripts. Other than development perspective, it did help me to understand several other errors which I ignore when using the OS (I use Arch Linux, but then realized I’m a noober :-D).

I did set up the environment for the parser as a subproject of EtherBeat. Still the development is waiting. I hope this might be a great opportunity for me to learn many new things and hoping to give my full commitment towards the success of this project.

Next Article

--

--