To add to Claris' answer something that confused me in the empty scriptPubKey case that was explained to me on IRC this week.
None of the explicitly defined output types thus far (P2PK, P2PKH, P2SH, P2WPKH, P2WSH, P2SH-P2WPKH, P2SH-P2WSH, P2TR) can contain an empty scriptPubKey as defined. However a Bitcoin transaction does not need to have an explicitly defined output type. Consensus rules are only concerned with scripts rather than output types. Indeed if consensus rules were exclusively defined in terms of output types it wouldn't have been possible to do SegWit and Taproot as soft forks.
The related Bitcoin Core code (EvalScript returning true if scriptPubKey is empty) is here.
You can get bonuses upto $100 FREE BONUS when you:
π° Install these recommended apps:
π² SocialGood - 100% Crypto Back on Everyday Shopping
π² xPortal - The DeFi For The Next Billion
π² CryptoTab Browser - Lightweight, fast, and ready to mine!
π° Register on these recommended exchanges:
π‘ Binanceπ‘ Bitfinexπ‘ Bitmartπ‘ Bittrexπ‘ Bitget
π‘ CoinExπ‘ Crypto.comπ‘ Gate.ioπ‘ Huobiπ‘ Kucoin.
Comments