<p>The asm strands for assembly, which is the symbolic representation of the Bitcoin's Script language op-codes.</p>

<p>In this particular case we have 2 pieces of data that go to the execution stack.</p>

<p>The transaction signature:</p>

<pre><code>304502201fd8abb11443f8b1b9a04e0495e0543d05611473a790c8939f089d073f90509a022100f4677825136605d732e2126d09a2d38c20c75946cd9fc239c0497e84c634e3dd01
</code></pre>

<p>And the public key of the input's address:</p>

<pre><code>03301a8259a12e35694cc22ebc45fee635f4993064190f6ce96e7fb19a03bb6be2
</code></pre>

<p>Notice that the hex and the asm are almost the same except the 48 in the beginning and 21 towards the end. These are op-codes that tell the interpreter to put a  specific amount of bytes to the stack. So in the case of the signature it tells to put 72 bytes (0x48) to the stack and 33 bytes (0x21) for the public key. Check here for more info <a href="https://en.bitcoin.it/wiki/Script#Constants">https://en.bitcoin.it/wiki/Script#Constants</a></p>

CC BY-SA 3.0
2017-12-15T14:05:14.267Z
how is that 72 bytes = (0x48) ?
user380208
CC BY-SA 3.0
2017-12-15T14:15:14.330Z
0x48 is hexadecimal for 72.
Ava Chow
CC BY-SA 3.0
2014-04-16T23:46:16.797Z
2014-04-16T23:46:16.797Z
John L. Jegutanis
<p>Given the structure of the inputs in the transaction vin inputs array </p>

<pre><code>{
    "txid" : "146183a58106544e81573e9f1ad13c7a2d7398dcaf42bb298fcea7858839d3b9",
    "vout" : 1,
    "scriptSig" : {
        "asm" :   "304502201fd8abb11443f8b1b9a04e0495e0543d05611473a790c8939f089d073f90509a022100f4677825136605d732e2126d09a2d38c20c75946cd9fc239c0497e84c634e3dd01 03301a8259a12e35694cc22ebc45fee635f4993064190f6ce96e7fb19a03bb6be2",
        "hex" : "48304502201fd8abb11443f8b1b9a04e0495e0543d05611473a790c8939f089d073f90509a022100f4677825136605d732e2126d09a2d38c20c75946cd9fc239c0497e84c634e3dd012103301a8259a12e35694cc22ebc45fee635f4993064190f6ce96e7fb19a03bb6be2"
}
</code></pre>

<p>I know that hex is the hexadecimal representation of the scriptSig, what's asm ?</p>

<transactions>
What's "asm" in transaction input's ScriptSig
Farghaly
# What's "asm" in transaction input's ScriptSig

(Asked by: username_0 on 2014-04-16)

Given the structure of the inputs in the transaction vin inputs array

```
{
    "txid" : "146183a58106544e81573e9f1ad13c7a2d7398dcaf42bb298fcea7858839d3b9",
    "vout" : 1,
    "scriptSig" : {
        "asm" :   "304502201fd8abb11443f8b1b9a04e0495e0543d05611473a790c8939f089d073f90509a022100f4677825136605d732e2126d09a2d38c20c75946cd9fc239c0497e84c634e3dd01 03301a8259a12e35694cc22ebc45fee635f4993064190f6ce96e7fb19a03bb6be2",
        "hex" : "48304502201fd8abb11443f8b1b9a04e0495e0543d05611473a790c8939f089d073f90509a022100f4677825136605d732e2126d09a2d38c20c75946cd9fc239c0497e84c634e3dd012103301a8259a12e35694cc22ebc45fee635f4993064190f6ce96e7fb19a03bb6be2"
}

```

I know that hex is the hexadecimal representation of the scriptSig, what's asm ?

**Tags:** transactions


---

## 1 answers

### Answer by username_1 on 2014-04-16. Score: 17 | Accepted answer

The asm strands for assembly, which is the symbolic representation of the Bitcoin's Script language op-codes.

In this particular case we have 2 pieces of data that go to the execution stack.

The transaction signature:

```
304502201fd8abb11443f8b1b9a04e0495e0543d05611473a790c8939f089d073f90509a022100f4677825136605d732e2126d09a2d38c20c75946cd9fc239c0497e84c634e3dd01

```

And the public key of the input's address:

```
03301a8259a12e35694cc22ebc45fee635f4993064190f6ce96e7fb19a03bb6be2

```

Notice that the hex and the asm are almost the same except the 48 in the beginning and 21 towards the end. These are op-codes that tell the interpreter to put a specific amount of bytes to the stack. So in the case of the signature it tells to put 72 bytes (0x48) to the stack and 33 bytes (0x21) for the public key. Check here for more info <https://en.bitcoin.it/wiki/Script#Constants>

> **Comments:**
> **username_2**: how is that 72 bytes = (0x48) ?  
> **username_3**: 0x48 is hexadecimal for 72.  

---

