This workshop will guide you through the creation of a multisig wallet using Python and the Bitcoin utilities library. A multisig wallet requires multiple signatures to authorize a transaction, enhancing security.
Before you begin, ensure you have the following installed:
- Clone the repository:
git clone <repository-url>
cd <repository-name>
- Install dependencies:
bun install
or
npm install
The entry point to the workshop is the main.ts file. To pass the first stage, you need to create an empty commit and push it to the remote repository.
git commit --allow-empty -m "Pass the first stage"
git push
Study the code in the main.ts file and fix the bugs. There are comments in the code that will guide you to the solution. When you are done, create a new commit and push it to the remote repository.
git commit -am "Pass the stage"
git push
You should see the logs for your changes in your terminal.
You can also run the program manually to test your changes.
chmod +x ./your_program.sh
./your_program.sh
- Fix the bugs in the program
- fix validation of the requiredSignatures and totalSigners
- fix the derivation path
- fix the creation of the multisig addresses
- fix the redeem script
- fix the transaction signing
For every bug you fix, you should see the logs for your changes in your terminal when you push to the remote repository or run the program manually.