I'm working on bitcoin protocol and exactly i want to extract raw script from output script to gain address from tx messages.
for common scripts, like scripts start with 0x76(means
OP_DUP), we can access to address with these steps:
- add zeros to start of raw script.
- hash with sha256.
- hashed with sha256 again.
- grab the first 4 bytes of this result and stick them on the end of the raw script with leading zeros
- then encode with base58.
- at the end, add "1" to start of last output to gain output address.
these steps are suitable for common scripts, but for scripts like this
which is means:
PUSH(0x41) 0498361908359fec5adaa624428484e7d117f36f811c7c471f4f1c7dd8184c20b32f0e2590c8d70906ebd585da2ae14ea942e4088891139379b434a26173754750 ac
it didn't work and the generated output isn't valid.