Estoy tratando de obtener las direcciones de los ScriptPubKey
s en cada transacción (cuando sea posible). Hasta ahora, conozco dos patrones de ScriptPubKey
dónde se puede encontrar una dirección:
1. Pago a Pubkey
04e70a02f5af48a1989bf630d92523c9d14c45c75f7d1b998e962bff6ff9995fc5bdb44f1793b37495d80324acba7c8f537caaf8432b8d47987313060cc82d8a93 OP_CHECKSIG
En este script de bloqueo, el código anterior OP_CHECKSIG
es una clave pública, por lo que se puede convertir en una dirección.
2. Hash de pago a clave pública
OP_DUP OP_HASH160 3d37cde30fdfcf29b2996a7ceefd220ba32c9f4b OP_EQUALVERIFY OP_CHECKSIG
En este, el código después OP_HASH160
(y antes del siguiente OP
código) es el hash160 de una clave pública, por lo que también se puede convertir en una dirección.
Pregunta:
¿Existen otros patrones de ScriptPubKey
dónde se pueden encontrar las direcciones?
O, en otras palabras, ¿podré capturar todas las direcciones trabajando en todos los códigos que no son de operación antes OP_CHECKSIG
y en todos los códigos que no son de operación después OP_HASH160
?
Técnicamente, pay-to-pubkey
no tiene un tipo de dirección. Puede derivar una dirección como si fuera un pay-to-pubkeyhash
scriptPubKey, pero hay una sutil diferencia.
El otro tipo que está olvidando es un pay-to-scripthash
tipo. es del formato
OP_HASH160 <Hash160(redeemScript)> OP_EQUAL
Luego, obtiene una dirección p2sh anteponiendo el byte de la versión y agregando la suma de verificación a<Hash160(redeemScript)>
OP_1 [clave pública] OP_1 OP_CHECKMULTISIG