Tapscript is the scripting language used for taproot script-path spends.
It shares most operations with legacy and segwit Bitcoin Script but has a few differences:
OP_CHECKMULTISIGVERIFYare replaced by a
Many opcodes are redefined to be
OP_SUCCESSopcodes that unconditionally render the entire script valid to simplify soft fork upgrades.
Signature hashes are calculated differently than in legacy script or BIP143 v0 segwit.
Primary code and documentation
Optech newsletter and website mentions
- 2020 year in review: Taproot, tapscript, and schnorr signatures
- Bitcoin Core #19953 merged with consensus implementation of BIP342
- Bitcoin Core #16902 fixes an inefficiency in OP_IF related opcodes
- btcdeb adds
tapcommand for experimenting with taproot and tapscript
- 2019 year-in-review: taproot and tapscript
- Discussion about position commitments using signature-checking opcodes
- Bitcoin Optech schnorr/taproot workshop
- Announcement of structured taproot review (including tapscript)
- Update on changes to schnorr, taproot, and tapscript
- Tapscript resource limits
- BIP322 signmessage forward compatibility
- Executive briefing: Taproot and Tapscript
- Overview of Taproot and Tapscript
- Extended summary of bip-taproot and bip-tapscript