# TODOs
This is a list of potential (or planned) TODO items for "Learning Bitcoin from the Command Line". Many are drawn from issues found at the previous locale of this repo.
## 1. Integrate with Bitcoin-Standup
Replace our current scripts with Bitcoin Standup (which was based on those scripts)
1. Fix Verification errors in Bitcoin Standup Scripts **6/10**
* Fix IPADDR error in Bitcoin Standup Scripts **6/10**
2. Upgrade Bitcoin Standup Scripts to Debian 10 **6/16**
3. Upgrade Bitcoin Standup Scripts to Bitcoin 0.20 **6/16**
4. Ensure Bitcoin Standup covers everything else in previous scripts **6/16**
5. Rewrite the StackScript chapter **6/16**
6. Rewrite the "by-hand" chapter to match Bitcoin Standup (Pending summer work)
7. Reintroduce aliases after setup **6/19**
8. Figure out what to do about the old `btcblock` on testnet, where there seems to be no CLI way to determine blockheight. **No Known Solution on Testnet**
## 2. Upgrade to 0.20
9. Walk through chapters 1-6, making sure all commands work with Bitcoin Core 0.20 (and changing them if not). Redo the output of all examples. **6/19**, **6/23**, **6/30**
* Edit Chapter 0 **6/19**
* Edit Chapter 1 **6/19**
* Re-edit Chapter 2 **6/19**
* Edit & Check Chapter 3 **6/19**
* Edit & Check Chapter 4 **6/23**
* Double-check fee calculator in 4.2I with a more complex example **6/19**
* Integrate older Curl Interlude **6/19**
* Edit & Check Chapter 5 **6/23**
* Edit & Check Chapter 6 **6/30**
* Update for change in importaddress **7/7**
## 3. Add BTCDEB Support
10. Make all examples in [7.4](https://github.com/BlockchainCommons/Learning-Bitcoin-from-the-Command-Line/blob/master/07_4_Testing_a_Bitcoin_Script.md) and possibly elsewhere use BTCDeb.
* Edit & Integrate Chapter 7
* Edit & Integrate Chapter 8
* Edit & Integrate Chapter 9
* Edit & Integrate Chapter 10
* Edit & Integrate Chapter 11
Per @ChristopherA:
> @kallewoof has written a better Bitcoin Script debugging tool at https://github.com/kallewoof/btcdeb — we should re-write chapter 7 to use it.
`btcdeb -v` will now show you what BTC Core version it's based on in its minor version. As of now it's `0.2.19`, which is BTC Core 0.19.
## 4. Add New Concepts
Add and document the following new concepts:
11. Add SegWit Transactions. The majority of Bitcoin transactions now use this signing methodology, so it needs to be fully explained and incorporated, alongside its newer bech32 addresses. **6/23**
* Add definitions of Segwit and bech32 addresses to 3.3 **6/23**
* Do we still have to use "bitcoin-cli getnewaddress "" legacy" on CLI? If not, run back through chapters that use legacy in their examples, starting in 3.3 **Gonna leave it for now. A future version might shift to P2SH-SegWit as default.**
* Integrate discussions of SegWit into early parts of chapter 4. **6/23**
* Write chapter 4.6 **6/23**
12. Add PSBT. Partially Signed Bitcoin Transactions are a powerful new interchange format that should be fully included in our discussions of multi-sigs and escrows (which instead fell back on older methodologies in v1.0). **7/2**, **7/7**, **7/10**
* Research PSBTs **7/2**
* Update Outlines **7/2**
* Write 7.1: Creating a PSBT **7/7**
* Create Illustrations for 7.1 **7/7**
* Write 7.2: Using a PSBT **7/7**, **7/10**
* Multisigs **7/7**
* Redo with correct math **7/10**
* Fund Pooling **7/10**
* CoinJoins **7/10**
13. Add Wallet Updates.
* Bitcoin Descriptors **6/30**
* Show what a SegWit descriptor looks like **7/2**
* Show what a multi-sig descriptor looks like **7/2**
* Revise based on comments **7/7**
* Key Ordering (sortedmulti) **7/2** **Partially Supported in 0.20**
14. Consider HWI.
* Write 7.3: Using HWI **7/14**
* Edit All of Chapter 6-8
15. Consider splitting up Chapter 6 (definitely if we get an HWI chapter)
* Break apart Chapter 6 **7/2**
* Rewrite all section links in early chapters (1-5, 6, 8) **7/7**
* Update Script Chapters
* Update Tor Chapter
* Update Programming Chapters
## 5. Finish Later Chapters
16. Edit & Intregtrate Tor Chapter.
17. Write Lightning Chapters. We'd like to parallel the CLI introduction to Bitcoin with a similar CLI introduction to Lightning.
18. Edit & Integrate all "C" work
19. Edit & Integrate all "Other Languages" work
20. Edit & Integrate Appendices work
21. Write or request Lightning/C chapter
## 6. Finalize Book
22. Re-edit everything