Which transaction types have actual addresses in the outputs of the transactions? As best as I could remember, addresses were only used by humans. I thought wallets translated addresses into public key hashes which were then used in output scripts.
I believe you are referring just to the base-58 form of the address. The binary form is in the output script:
OP_DUP OP_HASH160
At this point, I think we're just disagreeing on semantics.
I generally consider a pubKeyHash and an Bitcoin Address to be two different things. You are using them interchangeably.
When I look at that scrip, I see:
- Hash the public key provided in the input
- Compare that value to the hash provided in the output
- Verify the signature with the public key that was given in the input
I don't see any addresses in that script at all.
Addresses are more than just a base58 representation of a public key hash. Addresses also have a built in checksum and a version number that indicates specifically what script is to be written (which is why an address that starts with a 3 results in a completely different script than an address that starts with a 1).