BlockchainCommons / Community

Discussions & shared documents for stakeholders in Blockchain Commons
Other
68 stars 10 forks source link

2020 Summer Internship Project: Updating & Writing C Code for LBTCftCL #11

Closed shannona closed 3 years ago

shannona commented 4 years ago

Someone particularly comfortable with bare C programming could update and complete the sections on C code in Learning Bitcoin from the Command Line.

This comes in four parts that need to be done in order, but the project could be handed back after completing either part 1, part 2, part 3, or part 4.

  1. Edit existing 15.0, 15.1, and 15.2 sections. Make sure that all commands and descriptions remain accurate, and update as necessary for changes in C libraries or Bitcoin code.

  2. Write 15.3, demonstrating how to use C code to receive bitcoind notifications (or, if this isn't a good option, let us know). The partial Java chapter has an example of what we're looking for at the bottom, but you can go into more depth here in this "C" section. The ultimate object is to create a short program that readers can use as a building block, as was done in the previous chapters.

  3. More fully outline, then write most of chapter 16, demonstrating how to integrate with libwally. This should show how to install libwally, how to use its cryptographic functions, and how to use its wallet functions. If this can link back to the code in chapter 15 to create a larger library for the readers to continue using, great.

  4. Figure out if there's a way to meaningful integrate this libwally work with the scripts that are being used in chapters 1-11 of the book. If so, great, scope it out and then write it, and if not, let us know why we should cut this.

Generally, part 1 of this could be done quickly, but the rest all need a bit more effort to scope and outline what's desired.

Obviously, this is intended to be larger-scale work than the short other-language sections proposed in Issue #10 .

At sometime we're also going to want to produce one more chapter, on programming with Lightningd using C, but I need to write the command line sections first, so that's going to be a future project.

shannona commented 4 years ago

Javier is currently cleaning up the early sections (per 1) and looking at the best way to teach notifications (per 2). (Thank you!)

javiervargas commented 4 years ago

@shannona I've added PR for 15.1 and 15.2.

javiervargas commented 4 years ago

@shannona Added 15.3

shannona commented 4 years ago

This is coming along nicely, thanks @javiervargas

shannona commented 3 years ago

Thanks to Javier for working through this with me. His work is now available as Chapter 15: Talking to Bitcoind with C. I then followed that up with Chapter 16: Programming with Libwally. This was all released as part of Learning Bitcoin v2.0.