Skip to content

Module BSV::Script::Opcodes

All Bitcoin script opcodes as integer constants.

Includes data push operations, flow control, stack manipulation, splice, bitwise, arithmetic, and cryptographic opcodes. Also provides {.name_for} for reverse lookup (opcode byte → name).

Constants

NAME

Reverse lookup: opcode byte → name string. Sorted so canonical names (OP_0, OP_1) win over aliases (OP_FALSE, OP_TRUE) regardless of Module#constants enumeration order.

OP_0

Push value

OP_0NOTEQUAL

Not documented.

OP_1

Not documented.

OP_10

Not documented.

OP_11

Not documented.

OP_12

Not documented.

OP_13

Not documented.

OP_14

Not documented.

OP_15

Not documented.

OP_16

Not documented.

OP_1ADD

Arithmetic

OP_1NEGATE

Not documented.

OP_1SUB

Not documented.

OP_2

Not documented.

OP_2DIV

Not documented.

OP_2DROP

Not documented.

OP_2DUP

Not documented.

OP_2MUL

Not documented.

OP_2OVER

Not documented.

OP_2ROT

Not documented.

OP_2SWAP

Not documented.

OP_3

Not documented.

OP_3DUP

Not documented.

OP_4

Not documented.

OP_5

Not documented.

OP_6

Not documented.

OP_7

Not documented.

OP_8

Not documented.

OP_9

Not documented.

OP_ABS

Not documented.

OP_ADD

Not documented.

OP_AND

Not documented.

OP_BIN2NUM

Not documented.

OP_BOOLAND

Not documented.

OP_BOOLOR

Not documented.

OP_CAT

Splice

OP_CHECKLOCKTIMEVERIFY

Not documented.

OP_CHECKMULTISIG

Not documented.

OP_CHECKMULTISIGVERIFY

Not documented.

OP_CHECKSEQUENCEVERIFY

Not documented.

OP_CHECKSIG

Not documented.

OP_CHECKSIGVERIFY

Not documented.

OP_CODESEPARATOR

Not documented.

OP_DEPTH

Not documented.

OP_DIV

Not documented.

OP_DROP

Not documented.

OP_DUP

Not documented.

OP_ELSE

Not documented.

OP_ENDIF

Not documented.

OP_EQUAL

Not documented.

OP_EQUALVERIFY

Not documented.

OP_FALSE

Not documented.

OP_FROMALTSTACK

Not documented.

OP_GREATERTHAN

Not documented.

OP_GREATERTHANOREQUAL

Not documented.

OP_HASH160

Not documented.

OP_HASH256

Not documented.

OP_IF

Not documented.

OP_IFDUP

Not documented.

OP_INVALIDOPCODE

Not documented.

OP_INVERT

Bitwise logic

OP_LEFT

Not documented.

OP_LESSTHAN

Not documented.

OP_LESSTHANOREQUAL

Not documented.

OP_LSHIFT

Not documented.

OP_LSHIFTNUM

Not documented.

OP_MAX

Not documented.

OP_MIN

Not documented.

OP_MOD

Not documented.

OP_MUL

Not documented.

OP_NEGATE

Not documented.

OP_NIP

Not documented.

OP_NOP

Flow control

OP_NOP1

Expansion / NOP upgrades

OP_NOP10

Not documented.

OP_NOP11

Extended NOP range (0xba–0xfc) — unnamed, reserved for future use. Defined so that to_asm/from_asm can round-trip scripts containing them.

OP_NOP12

Not documented.

OP_NOP13

Not documented.

OP_NOP14

Not documented.

OP_NOP15

Not documented.

OP_NOP16

Not documented.

OP_NOP17

Not documented.

OP_NOP18

Not documented.

OP_NOP19

Not documented.

OP_NOP20

Not documented.

OP_NOP21

Not documented.

OP_NOP22

Not documented.

OP_NOP23

Not documented.

OP_NOP24

Not documented.

OP_NOP25

Not documented.

OP_NOP26

Not documented.

OP_NOP27

Not documented.

OP_NOP28

Not documented.

OP_NOP29

Not documented.

OP_NOP30

Not documented.

OP_NOP31

Not documented.

OP_NOP32

Not documented.

OP_NOP33

Not documented.

OP_NOP34

Not documented.

OP_NOP35

Not documented.

OP_NOP36

Not documented.

OP_NOP37

Not documented.

OP_NOP38

Not documented.

OP_NOP39

Not documented.

OP_NOP4

NOP aliases for the Chronicle slots (preserved for compatibility)

OP_NOP40

Not documented.

OP_NOP41

Not documented.

OP_NOP42

Not documented.

OP_NOP43

Not documented.

OP_NOP44

Not documented.

OP_NOP45

Not documented.

OP_NOP46

Not documented.

OP_NOP47

Not documented.

OP_NOP48

Not documented.

OP_NOP49

Not documented.

OP_NOP5

Not documented.

OP_NOP50

Not documented.

OP_NOP51

Not documented.

OP_NOP52

Not documented.

OP_NOP53

Not documented.

OP_NOP54

Not documented.

OP_NOP55

Not documented.

OP_NOP56

Not documented.

OP_NOP57

Not documented.

OP_NOP58

Not documented.

OP_NOP59

Not documented.

OP_NOP6

Not documented.

OP_NOP60

Not documented.

OP_NOP61

Not documented.

OP_NOP62

Not documented.

OP_NOP63

Not documented.

OP_NOP64

Not documented.

OP_NOP65

Not documented.

OP_NOP66

Not documented.

OP_NOP67

Not documented.

OP_NOP68

Not documented.

OP_NOP69

Not documented.

OP_NOP7

Not documented.

OP_NOP70

Not documented.

OP_NOP71

Not documented.

OP_NOP72

Not documented.

OP_NOP73

Not documented.

OP_NOP74

Not documented.

OP_NOP75

Not documented.

OP_NOP76

Not documented.

OP_NOP77

Not documented.

OP_NOP8

Not documented.

OP_NOP9

Not documented.

OP_NOT

Not documented.

OP_NOTIF

Not documented.

OP_NUM2BIN

Not documented.

OP_NUMEQUAL

Not documented.

OP_NUMEQUALVERIFY

Not documented.

OP_NUMNOTEQUAL

Not documented.

OP_OR

Not documented.

OP_OVER

Not documented.

OP_PICK

Not documented.

OP_PUBKEY

Not documented.

OP_PUBKEYHASH

Pseudo-words (not used in scripts)

OP_PUSHDATA1

Not documented.

OP_PUSHDATA2

Not documented.

OP_PUSHDATA4

Not documented.

OP_RESERVED

Not documented.

OP_RESERVED1

Not documented.

OP_RESERVED2

Not documented.

OP_RETURN

Not documented.

OP_RIGHT

Not documented.

OP_RIPEMD160

Crypto

OP_ROLL

Not documented.

OP_ROT

Not documented.

OP_RSHIFT

Not documented.

OP_RSHIFTNUM

Not documented.

OP_SHA1

Not documented.

OP_SHA256

Not documented.

OP_SIZE

Not documented.

OP_SPLIT

Not documented.

OP_SUB

Not documented.

OP_SUBSTR

Chronicle slots (0xb3–0xb7): string-splice and numeric-shift opcodes re-enabled in BSV Chronicle. Fully implemented in the interpreter.

OP_SWAP

Not documented.

OP_TOALTSTACK

Stack

OP_TRUE

Not documented.

OP_TUCK

Not documented.

OP_VER

Not documented.

OP_VERIF

Not documented.

OP_VERIFY

Not documented.

OP_VERNOTIF

Not documented.

OP_WITHIN

Not documented.

OP_XOR

Not documented.

Public Class Methods

name_for(opcode)

Look up the canonical name for an opcode byte. - @param opcode [Integer] the opcode byte value - @return [String, nil] the opcode name (e.g. +"OP_DUP"+), or +nil+ if unknown