That time I spent my Summer on Bitcoin
The title’s catchy, ain’t it? Well, it's not going to be some juicy run-of-the-mill story about how some newcomer spent his summer investing his money on the token and got huge returns. For one, my summer wasn’t even spent on Bitcoin! It was spent contributing to this awesome project called rust-lightning — the Rust implementation of Lightning Network (Bitcoin’s Layer 2 scaling solution).
TL;DR:- It was an awesome experience to Learn And Earn while contributing to a major blockchain solution. Would love to do it again!
So in case you stuck around after that first paragraph and the Tl;DR, here’s my story.
The Short Acknowledgements
I guess first of all I need to thank Bhaskar Dutta for motivating me to apply for the program. It’s almost funny when you consider that I haven’t physically met him once even though we both live in Kolkata and I share most of my work (publications, hackathon wins etc) with him. It was thanks to him I came across this wonderful program and decided to apply.
Secondly, I would like to Thank Jeffrey Czyz — my mentor during my program. If I am coming clean, I was an absolute beginner in Rust and he patiently walked me through the nuances of being a Rust Dev and working on rust-lightning. On that note, I would also like to thank Matt Corallo for supporting me.
Finally a BIG Thanks to the organizers of the program — Jonas, Caralie and Adi.
It may be mentioned here that it was Jonas who pushed me to explore the option of being a Rust Developer during my initial interview with him and 2.5 months later, I really am glad I listened to his advice.
Caralie was always there for us to guide us about the program as well as our lives and it was fun participating in those Game Nights. There can’t be enough said about her dedication to the program and it was Thanks to her that it became all that more awesome.
As for Adi, I really don’t know much about him but the hours he put into the program and being there for us while coordinating sessions (along with the fact that he loves Saitama) are the reasons why I have huge respect for him! He was kind of like Satoshi of SoB — concealing identity till the end.
I was in my fourth year of Engineering Studies when I did and I graduated while I was involved in the program which was an experience in and of itself.
Getting Feet Wet
The program started on July 5th, 2021 with a week of webinars from domain experts, program mentors and alumni of the Chaincode Labs Residency Program. The talks ranged from the basics of Bitcoin to Lightning Network and covered a lot of ground.
It may be worth mentioning that the participants of the program were in advance asked to familiarize themselves with Bitcoin and allied terminologies via the Bitcoin and Cryptocurrency Technologies book by Princeton University or the contemporary Coursera Course. We were also provided with Kalle Rosenbaum’s Grokking Bitcoin as additional reading material.
Week 1 concluded with Seminars and week 2 had in store for us one of the interesting parts of the program — A Crash Course on Bitcoin by none other than Kalle Rosenbaum himself! I have to say it was quite enjoyable and informative. It was also the first time I got the chance to have a proper exchange with the other participants in the programs via the breakout rooms in the middle of sessions.
Week 2 was quite elaborate covering the syllabus of the book ranging from an Intro to Bitcoin and Crypto, Wallets and then culminating into running a Bitcoin full node.
At the end of week 2, I received a mail from Caralie that I had been assigned to the Lightning Track and I would be working under Jeff on rust-lightning.
And then there were 2…
Week 3 saw us getting categorized into 2 groups: -
- Lightning Track
- Bitcoin Track
The former was yours truly. Both track had track specific week 3–4 programs. With lightning track getting one week to cover the Lightning Seminars. It was, in my opinion, a bit rushed but that’s also why it was one of my favourite segments. At the end of Week 3, the Lightning Track saw a few participants switch to the Bitcoin Core track.
At this point, it should be mentioned that that whole endeavour was in the presence of Brian Mancini who used to be present every day at the end of our learning and discussion sessions to help us clear our doubts. Adi was also a constant during these and previously mentioned week 2 sessions where he would be the technical coordinator.
At the start of it, it felt competitive. We used to be assigned a topic for discussion and a partner. Together we were supposed to explore the topic and learn more about it. In the evening session, both partners were assigned to separate Breakout Rooms on Zoom and they needed to discuss the topic they were assigned with others in that breakout room.
Given the typical Indian Student competitiveness, in hindsight, it wasn’t a surprise when we thought we were supposed to learn all the topics and then discuss just the one assigned when in reality it was a sort of a team-building exercise where the point (my guess) was to learn to rely on the others in the program to fulfil one’s own lacking. I guess most of us came to the conclusion by the week’s end. Every day concluded with everyone in the Lightning track coming together with Brian to discuss any lingering doubts.
Week 4 and the Rest (Alternative Title — “Feet wet enough, Time for some action”)
The program was basically reaching a mid-point and it was time for us to get our hands-on with the code and the projects. Each of us was assigned a mentor. My mentor was Jeffrey Czyz.
I was nervous (that’s normal I guess). I wanted to make the best impression (who doesn’t ?!). Jeff had already picked a few issues which he thought would be a good starting point for a beginner like me. There were 5 issues he had picked. (I have to confess that if he had picked 10 issues I would have made a Lord of the Rings meme for this blog)
I went with Issue #945 titled Allow multi-hop route hints.
The remainder of the weeks were mostly focused on solving the issue. It was a comparatively simple one.
The issue required knowledge of Bolt 12. It consisted of incorporating Multiple Last Hop Route hints from Lightning Invoice into rust-lightning.
The codebase is enormous but also intuitive. But most of all, it is very well documented. Every piece of logic contains an elaboration on why it is necessary.
I and Jeff used to have meetings every Monday where I would tell him about the problems I was facing on the Issue and overall and we would talk about it. These regular updates helped me to connect with my mentor and maintain that. I still remember when the PR of Issue #945 was merged and then we had another meeting where I picked Route Rebalancing — the issue I am working on at the time of writing.
While I would love to go on and on about it, I want to make this a bit short. My time in the program motivated me to do a lot of things — one of them revamping my portfolio website while the other starting writing short tech articles on what I know and I would love to get started on that.
The program wasn’t just all work and no play. Caralie had specially arranged some fun Game Nights. Playing Scribble was fun. It brought together students from both tracks and we have a good time playing in groups.
I would consider the Summer of Bitcoin to be a monumental step in my early career. It wasn’t easy but that’s what made it that much more exciting. About 5k applied to the program and from them, an initial cohort of 55 was selected — and that’s just in the first run of the program limited only to India. I would love to see the stats grow as they plan to take it global.
The program offered a very good opportunity to learn about something that has kickstarted such a drastic change in the industry. About a couple of weeks into project assigning (after week 3) Aditya Sharma became only the second person to implement a Bolt from Scratch. There were many similar stories that were made in this specific iteration and suffice to say it is just a trailer for what’s to come in the successive years.
It would be an understatement to say I had a blast. We all received a Ledger Nano S and thanks to the idea from a fellow participant a groupie as memorabilia among other things!
So to conclude I would like to take this opportunity to thank everyone associated with the program for providing such a playground and I wish every one of them a very bright future.