Ok, so debrief. It’s been a while
Joined the chaincode lab’s BOSS Challenge, and they had a two part project. First is to make a wallet that can get the balance of a taproot extended private key, and part 2 is to choose a UTXO, send some money to a taproot multisig and then spend that multisig.
So completed part 1 in Python, and then wanted to push myself, so re-did that exercise using the Python code as a template to do it entirely in c++. Then did part 2 in Python. I didn’t have time to do it in c++, and unfortunately completed it last night, which was a week late 😢. But got it done nonetheless.
So what I’ve learnt?
• How to derive addresses, public and private keys from an extended private key.
• Dug deep into the OOP of Python 🐍
• Learnt how to transfer my knowledge of Python code to c++ code.
• How to compile code in c++ while integrating libraries.
• How to make my own library in both c++ and Python.
• How to construct taproot txs, bot the key path spends and script part spends.
• Finally how to write out all the necessary code and maths to do all of it manually. So didn’t use any external libraries, except to hash, as I couldn’t be bothered to code that from scratch. But I do all the elliptic curve arithmetic as well as schnors algorithm for making signatures and verifying them.
Alhamdulillah, the journey continues. I’m one step closer to transferring that knowledge about making a wallet to a production product. There is still a lot I have to learn that’s for sure. But getting there. Good to combine the technical knowledge with the Sharee’ah knowledge.