<p>I am building a P2PKH script pubkey in code, and the standard format is:</p>
<p><code>OP_DUP OP_HASH160 &lt;PUBKEYHASH&gt; OP_EQUALVERIFY OP_CHECKSIG</code></p>
<p>However, when I print it (I'm using the <code>bitcoin</code> Rust crate) it returns as:</p>
<p><code>Script(OP_DUP OP_HASH160 OP_PUSHBYTES_20 &lt;PUBKEYHASH&gt; OP_EQUALVERIFY OP_CHECKSIG)</code></p>
<p>Is that <code>OP_PUSHBYTES_20</code> meaningful? What does it mean? Why is it added?</p>

CC BY-SA 4.0
2020-09-25T00:19:31.153Z
@Prayank, perfect thanks!
Kyle
<bitcoin-core><transactions><script><p2pkh><opcodes>
Why does printing a scriptPubKey have an extra OP_PUSHBYTES_20?
Kyle
# Why does printing a scriptPubKey have an extra OP_PUSHBYTES_20?

(Asked by: username_0 on 2020-09-24)

I am building a P2PKH script pubkey in code, and the standard format is:

`OP_DUP OP_HASH160  OP_EQUALVERIFY OP_CHECKSIG`

However, when I print it (I'm using the `bitcoin` Rust crate) it returns as:

`Script(OP_DUP OP_HASH160 OP_PUSHBYTES_20  OP_EQUALVERIFY OP_CHECKSIG)`

Is that `OP_PUSHBYTES_20` meaningful? What does it mean? Why is it added?

**Tags:** bitcoin-core, transactions, script, p2pkh, opcodes

> **Comments:**
> **username_0**: @Prayank, perfect thanks!  

---

## 0 answers

