Script¶
Riemann provides support for (de)serializing Bitcoin Script. However, it does not support execution of Script.
In Riemann’s Script serialization, opcodes are represented as strings and data pushes are represented as unprefixed hex strings. E.g. “0011aabb OP_HASH160”. This can be serialized to bytes via serialization.serialize or to hex via serialization.hex_serialize.
Some examples are available in riemann/script/examples.py and riemann/examples.
Serialization¶
-
riemann.script.serialization.deserialize(serialized_script: bytes) → str¶ Deserialize a human-readable script from bytes
Example
deserialize(b’v©¬’)
- Parameters
serialized_script – The Script serialized as a bytestring
- Returns
A human-readable Script string
-
riemann.script.serialization.hex_deserialize(script_hex: str) → str¶ Deserialize a human-readable script from hex
Example
hex_deserialize(‘1976a988ac’)
- Parameters
serialized_script – The Script serialized as a hex string
- Returns
A human-readable Script string
-
riemann.script.serialization.hex_serialize(script_string: str) → str¶ Serialize a human-readable script to hex
Example
hex_serialize(‘OP_DUP OP_CAT OP_HASH160 0011deadbeef’)
- Parameters
script_string – A human-readable Bitcoin Script string
- Returns
The Script serialized as a hex string
-
riemann.script.serialization.serialize(script_string: str) → bytes¶ Serialize a human-readable script to bytes
Example
serialize(‘OP_DUP OP_CAT OP_HASH160 0011deadbeef’)
- Parameters
script_string – A human-readable Bitcoin Script string
- Returns
The Script serialized as a bytestring