I found my home as a developer in free and open source. Especially when related to Bitcoin, the level of rigor and detail of the projects was something I knew was missing from my work in data science. To get involved in FOSS, I completed the Chaincode - Start your career in BOSS program.
Over the past year, I developed a light-weight Bitcoin node designed to run in constrained environments like smart phones. Built with tokio
, the light-client commmunicates with Bitcoin nodes over the P2P protocol, maintains a database of peers and block data, and downloads blocks with relevant transactions. To this end, I also implemented an encrypted peer-to-peer messaging for Rust-based Bitcoin clients, part of the rust-bitcoin
community. To meet community requirements, the project includes zero-dependency ChaCha20 and ChaCha20Poly1305 encryption ciphers compatible with arbitrary Rust build targets.
I am now supported by 2140 to continue maintaining these projects, and I also actively contribute to the Bitcoin Dev Kit foreign language bindings project. Building native applications that users are familiar with is crutial to my opinion on how software should be developed. Among other goals, I would like to see a native mobile application that runs a small Bitcoin node in your pocket.