Onto a Summer of Bitcoin
This is Chandra, and I have been selected for Summer of Bitcoin (SoB) 2025 program with the Lightning Network under the mentorship of Matt Morehourse. A part of me still cannot believe that I actually got in, while some other part thinks it is only reasonable given how much effort I put in for this. I feel a bit of an imposter syndrome, as there were a lot of good candidates for this year’s SoB and I was the one selected among them. In any case, I am excited to spend my summer vacation writing code for ingenious tech like Bitcoin. I hope to learn a lot and come out as a better programmer at the end of this project.
About the project
The project that I’m going to work on is ‘Improve the fuzz testing for Core Lightning’ and the proposal that got me selected can be found here. To give a synopsis of the proposal, my task for this internship is to improve the existing fuzz targets for Core Lightning (CLN) and write new ones. A core focus of the project is introducing new stateful fuzz tests, as they are better suited to expose vulnerabilities in networking protocols like the Lightning Network.
I already have some experience with working on CLN’s fuzz tests from the patches that I worked on pre-SoB, but writing meaningful tests that expose hidden bugs is going to take a much more deeper understanding of CLN, and the Lightining Network in general. Nonetheless, it’s something that I believe that I can work towards and get meaningful results out of, owing to the experience I have accumulated through SoB’s selection process.
Goals
In the time period from May 8 to May 15, SoB contributors are expected to read up documentation, get familiar with the codebase and tools, set up expectations and milestones, start engaging with the community, complete the required paperwork and so forth. In my SoB proposal, I outlined this time period to learn about CLN and contribute a few patches towards that goal. Keeping this in mind, here’s a list of my goals for what’s left of this week:
- Go through CLN’s Coding Guidlines again to better understand the coding style errors that I need to be on the lookout for.
- Finish reading up on CLN Architecture.
- Start looking for more suitable targets to fuzz test.
- Finish what’s left of the initial paperwork.
Till next time,
Chandra.