Shannon Appelcline f6465d1a81
Update TODO.md
2020-07-02 14:17:58 -10:00

4.7 KiB

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

  1. 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

3. Add BTCDEB Support

  1. Make all examples in 7.4 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:

  1. 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
  1. 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).
  • Research PSBTs 7/2
  • Update Outlines 7/2
  • Write 6.6: Creating a PSBT
  • Write 6.7: Using a PSBT
  1. 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
  • Key Ordering (sortedmulti) 7/2 Partially Supported in 0.20
  1. Consider HWI. We need to investigate the Hardware Wallet Interface, which uses PSBTs with hardware wallets, and see if it's something we should include (and if our readers want us to).
  2. 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)
  • Update Script Chapters
  • Update Tor Chapter
  • Update Programming Chapters

5. Finish Later Chapters

  1. Edit & Intregtrate Tor Chapter.
  2. Write Lightning Chapters. We'd like to parallel the CLI introduction to Bitcoin with a similar CLI introduction to Lightning.
  3. Edit & Integrate all "C" work
  4. Edit & Integrate all "Other Languages" work
  5. Edit & Integrate Appendices work
  6. Write or request Lightning/C chapter

6. Finalize Book

  1. Re-edit everything