In the Bitcoin Core source code there is a function to check if a given transaction is a coinbase or not:
bool IsCoinBase() const { return (vin.size() == 1 && vin[0].prevout.IsNull()); }
Does it really need to check if vin.size()
is equal to 1? Isn't vin[0].prevout.IsNull()
a sufficient condition for a transaction to be a coinbase? Is there any situation that the later condition is true but we have more than one input?
The only reason I can guess is to avoid run-time error when vin
is empty (so there is no vin[0]
).
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