Summer of Bitcoin’22: My Experience

Jatin Gupta
4 min readAug 22, 2022

On May 1st, I received an email saying that “We’re glad to inform you that your Summer of Bitcoin proposal for Update bcoin RPC API and add tests has been accepted”. I was one of the 83 students selected for the Summer of Bitcoin 2022 program out of 20,317 applicants from 15 different countries. My happiness knew no bounds as all the hard work and dedication I had put in finally came to fruition. For those of you who are interested in applying to Summer of Bitcoin and being a part of this fantastic community, I will share my complete experience of Summer of Bitcoin along with some tips that might help you get an edge😉.

About Summer of Bitcoin

It is a global program that matches students with open source, free software, and technology-related organizations working on bitcoin to write code and become part of these fantastic communities. Students selected are given the guidance of a mentor who explains about the community along with how everything works and how we can become familiar with the bitcoin open source community.

How I got to know about Summer of Bitcoin

While scrolling through LinkedIn, I came across a post about the Summer of Bitcoin. The name itself seemed quite unique to me and I was drawn to knowing how everything works and the more I read, the deeper I wanted to dive in. So I decided to apply for the program, and fill out a form where I was asked some basic questions about my experience and why I wanted to join the Summer of Bitcoin program.

Selection Process

The first round included DSA questions on an online platform. It included questions from binary search and recursion. My advice would be to have basic knowledge of DSA as the questions were not that tough. The results of this round were published in 3–4 days and students who got shortlisted had to select one project from a list of wide-ranging topics on the Summer of Bitcoin website. From there on they had to write a proposal and elaborate on how they would implement the topic that they had chosen. For this, we were provided with reading materials that were given to us by Summer of Bitcoin.

Then I started understanding bitcoin core and the codebase of the organization I chose. I ran full node, SPV node, using bcoin, for more understanding of bitcoin functionality like creating transactions, mining block, etc. I also made a PR before submitting my proposal for the best impact and discussed my proposal with my mentor, took suggestions from him, and talked to my peers about the project they are planning to work on. So if we had some doubts or some issues regarding the proposal the mentors were available and they were really helpful and supportive. Finally, I wrote a proposal and shared it with my mentor for review and after getting a positive review from my mentor I finally submitted it. After all this, students whose proposals got accepted got an amazing opportunity to be a part of Summer of Bitcoin.

Check my proposal here (for reference)

Life of a mentee @Summer of Bitcoin

After joining I had to complete whatever I proposed in the timeline I mentioned. Every week we had a meeting with our mentors where we discussed any questions regarding bitcoin topics and about the work on which we were working.

Also along with this, we had seminars and zoom meetings where we would be placed in a group of 7 in different rooms and have debates on a particular bitcoin topic.

My project was to add new RPC calls and cover the corresponding test. I added getnodeaddresses RPC call so that the user can be able to connect with a new node in the network. This call accepts a single parameter count, the number of addresses it would return, the default value is 1 and we can set it to 0 if we want all addresses in return.

After completing the work I wrote my proposal and discussed it with my mentor and started working on other RPC calls.

I also added “rescan” RPC call, which rescans the local blockchain for wallet related transactions.

Along with this I also added “abortrescan” RPC call which stops the current wallet rescan triggered by an RPC call.

For those of you who are interested in becoming a part of this amazing community, my advice would be to start learning about Bitcoin/Blockchain and try and keep data structures and algorithms at a good level (keep practicing).

--

--