bsv.Opcode
Class: Opcode
bsv.Opcode
Opcode class, representing opcodes used in Bitcoin Script
Param
Table of contents
Constructors
Properties
- OP_0
- OP_0NOTEQUAL
- OP_1
- OP_10
- OP_11
- OP_12
- OP_13
- OP_14
- OP_15
- OP_16
- OP_1ADD
- OP_1NEGATE
- OP_1SUB
- OP_2
- OP_2DIV
- OP_2DROP
- OP_2DUP
- OP_2MUL
- OP_2OVER
- OP_2ROT
- OP_2SWAP
- OP_3
- OP_3DUP
- OP_4
- OP_5
- OP_6
- OP_7
- OP_8
- OP_9
- OP_ABS
- OP_ADD
- OP_AND
- OP_BIN2NUM
- OP_BOOLAND
- OP_BOOLOR
- OP_CAT
- OP_CHECKLOCKTIMEVERIFY
- OP_CHECKMULTISIG
- OP_CHECKMULTISIGVERIFY
- OP_CHECKSEQUENCEVERIFY
- OP_CHECKSIG
- OP_CHECKSIGVERIFY
- OP_CODESEPARATOR
- OP_DEPTH
- OP_DIV
- OP_DROP
- OP_DUP
- OP_ELSE
- OP_ENDIF
- OP_EQUAL
- OP_EQUALVERIFY
- OP_FROMALTSTACK
- OP_GREATERTHAN
- OP_GREATERTHANOREQUAL
- OP_HASH160
- OP_HASH256
- OP_IF
- OP_IFDUP
- OP_INVALIDOPCODE
- OP_INVERT
- OP_LESSTHAN
- OP_LESSTHANOREQUAL
- OP_LSHIFT
- OP_MAX
- OP_MIN
- OP_MOD
- OP_MUL
- OP_NEGATE
- OP_NIP
- OP_NOP
- OP_NOP1
- OP_NOP10
- OP_NOP2
- OP_NOP3
- OP_NOP4
- OP_NOP5
- OP_NOP6
- OP_NOP7
- OP_NOP8
- OP_NOP9
- OP_NOT
- OP_NOTIF
- OP_NUM2BIN
- OP_NUMEQUAL
- OP_NUMEQUALVERIFY
- OP_NUMNOTEQUAL
- OP_OR
- OP_OVER
- OP_PICK
- OP_PUBKEY
- OP_PUBKEYHASH
- OP_PUSHDATA1
- OP_PUSHDATA2
- OP_PUSHDATA4
- OP_RESERVED
- OP_RESERVED1
- OP_RESERVED2
- OP_RETURN
- OP_RIPEMD160
- OP_ROLL
- OP_ROT
- OP_RSHIFT
- OP_SHA1
- OP_SHA256
- OP_SIZE
- OP_SPLIT
- OP_SUB
- OP_SWAP
- OP_TOALTSTACK
- OP_TRUE
- OP_TUCK
- OP_VER
- OP_VERIF
- OP_VERIFY
- OP_VERNOTIF
- OP_WITHIN
- OP_XOR
Constructors
constructor
• new Opcode(op_code
)
Parameters
Name | Type |
---|---|
op_code | number |
Defined in
node_modules/bsv/index.d.ts:603
Properties
OP_0
▪ Static
OP_0: number
An empty array of bytes is pushed onto the stack. (This is not a no-op: an item is added to the stack.)
Opcode
Hex
Input
Nothing
Output
empty
Static
Defined in
node_modules/bsv/index.d.ts:29
OP_0NOTEQUAL
▪ Static
OP_0NOTEQUAL: number
Defined in
node_modules/bsv/index.d.ts:547
OP_1
▪ Static
OP_1: number
The number 1 is pushed onto the stack.
Opcode
Hex
Input
Nothing
Output
1
Static
Defined in
node_modules/bsv/index.d.ts:92
OP_10
▪ Static
OP_10: number
The number in the word name 10 is pushed onto the stack.
Opcode
Hex
Input
Nothing
Output
10
Static
Defined in
node_modules/bsv/index.d.ts:173
OP_11
▪ Static
OP_11: number
The number in the word name 11 is pushed onto the stack.
Opcode
Hex
Input
Nothing
Output
11
Static
Defined in
node_modules/bsv/index.d.ts:182
OP_12
▪ Static
OP_12: number
The number in the word name 12 is pushed onto the stack.
Opcode
Hex
Input
Nothing
Output
12
Static
Defined in
node_modules/bsv/index.d.ts:191
OP_13
▪ Static
OP_13: number
The number in the word name 13 is pushed onto the stack.
Opcode
Hex
Input
Nothing
Output
13
Static
Defined in
node_modules/bsv/index.d.ts:200
OP_14
▪ Static
OP_14: number
The number in the word name 14 is pushed onto the stack.
Opcode
Hex
Input
Nothing
Output
14
Static
Defined in
node_modules/bsv/index.d.ts:209
OP_15
▪ Static
OP_15: number
The number in the word name 15 is pushed onto the stack.
Opcode
Hex
Input
Nothing
Output
15
Static
Defined in
node_modules/bsv/index.d.ts:218
OP_16
▪ Static
OP_16: number
The number in the word name 16 is pushed onto the stack.
Opcode
Hex
Input
Nothing
Output
16
Static
Defined in
node_modules/bsv/index.d.ts:227
OP_1ADD
▪ Static
OP_1ADD: number
Defined in
node_modules/bsv/index.d.ts:540
OP_1NEGATE
▪ Static
OP_1NEGATE: number
The number -1 is pushed onto the stack.
Opcode
Hex
Input
Nothing
Output
-1
Static
Defined in
node_modules/bsv/index.d.ts:65
OP_1SUB
▪ Static
OP_1SUB: number
Defined in
node_modules/bsv/index.d.ts:541
OP_2
▪ Static
OP_2: number
The number in the word name 2 is pushed onto the stack.
Opcode
Hex
Input
Nothing
Output
2
Static
Defined in
node_modules/bsv/index.d.ts:101
OP_2DIV
▪ Static
OP_2DIV: number
Defined in
node_modules/bsv/index.d.ts:543
OP_2DROP
▪ Static
OP_2DROP: number
Removes the top two stack items.
Opcode
Hex
Input
x1 x2
Output
Nothing
Static
Defined in
node_modules/bsv/index.d.ts:376
OP_2DUP
▪ Static
OP_2DUP: number
Duplicates the top two stack items.
Opcode
Hex
Input
x1 x2
Output
x1 x2 x1 x2
Static
Defined in
node_modules/bsv/index.d.ts:385
OP_2MUL
▪ Static
OP_2MUL: number
Defined in
node_modules/bsv/index.d.ts:542
OP_2OVER
▪ Static
OP_2OVER: number
Copies the pair of items two spaces back in the stack to the front.
Opcode
Hex
Input
x1 x2 x3 x4
Output
x1 x2 x3 x4 x1 x2
Static
Defined in
node_modules/bsv/index.d.ts:403
OP_2ROT
▪ Static
OP_2ROT: number
The fifth and sixth items back are moved to the top of the stack.
Opcode
Hex
Input
x1 x2 x3 x4 x5 x6
Output
x3 x4 x5 x6 x1 x2
Static
Defined in
node_modules/bsv/index.d.ts:412
OP_2SWAP
▪ Static
OP_2SWAP: number
Swaps the top two pairs of items.
Opcode
Hex
Input
x1 x2 x3 x4
Output
x3 x4 x1 x2
Static
Defined in
node_modules/bsv/index.d.ts:421
OP_3
▪ Static
OP_3: number
The number in the word name 3 is pushed onto the stack.
Opcode
Hex
Input
Nothing
Output
3
Static
Defined in
node_modules/bsv/index.d.ts:110
OP_3DUP
▪ Static
OP_3DUP: number
Duplicates the top three stack items.
Opcode
Hex
Input
x1 x2 x3
Output
x1 x2 x3 x1 x2 x3
Static
Defined in
node_modules/bsv/index.d.ts:394
OP_4
▪ Static
OP_4: number
The number in the word name 4 is pushed onto the stack.
Opcode
Hex
Input
Nothing
Output
4
Static
Defined in
node_modules/bsv/index.d.ts:119
OP_5
▪ Static
OP_5: number
The number in the word name 5 is pushed onto the stack.
Opcode
Hex
Input
Nothing
Output
5
Static
Defined in
node_modules/bsv/index.d.ts:128
OP_6
▪ Static
OP_6: number
The number in the word name 6 is pushed onto the stack.
Opcode
Hex
Input
Nothing
Output
6
Static
Defined in
node_modules/bsv/index.d.ts:137
OP_7
▪ Static
OP_7: number
The number in the word name 7 is pushed onto the stack.
Opcode
Hex
Input
Nothing
Output
7
Static
Defined in
node_modules/bsv/index.d.ts:146
OP_8
▪ Static
OP_8: number
The number in the word name 8 is pushed onto the stack.
Opcode
Hex
Input
Nothing
Output
8
Static
Defined in
node_modules/bsv/index.d.ts:155
OP_9
▪ Static
OP_9: number
The number in the word name 9 is pushed onto the stack.
Opcode
Hex
Input
Nothing
Output
9
Static
Defined in
node_modules/bsv/index.d.ts:164
OP_ABS
▪ Static
OP_ABS: number
Defined in
node_modules/bsv/index.d.ts:545
OP_ADD
▪ Static
OP_ADD: number
Defined in
node_modules/bsv/index.d.ts:549
OP_AND
▪ Static
OP_AND: number
Defined in
node_modules/bsv/index.d.ts:531
OP_BIN2NUM
▪ Static
OP_BIN2NUM: number
Defined in
node_modules/bsv/index.d.ts:526
OP_BOOLAND
▪ Static
OP_BOOLAND: number
Defined in
node_modules/bsv/index.d.ts:557
OP_BOOLOR
▪ Static
OP_BOOLOR: number
Defined in
node_modules/bsv/index.d.ts:558
OP_CAT
▪ Static
OP_CAT: number
Defined in
node_modules/bsv/index.d.ts:523
OP_CHECKLOCKTIMEVERIFY
▪ Static
OP_CHECKLOCKTIMEVERIFY: number
Defined in
node_modules/bsv/index.d.ts:583
OP_CHECKMULTISIG
▪ Static
OP_CHECKMULTISIG: number
Defined in
node_modules/bsv/index.d.ts:580
OP_CHECKMULTISIGVERIFY
▪ Static
OP_CHECKMULTISIGVERIFY: number
Defined in
node_modules/bsv/index.d.ts:581
OP_CHECKSEQUENCEVERIFY
▪ Static
OP_CHECKSEQUENCEVERIFY: number
Defined in
node_modules/bsv/index.d.ts:584
OP_CHECKSIG
▪ Static
OP_CHECKSIG: number
Defined in
node_modules/bsv/index.d.ts:578
OP_CHECKSIGVERIFY
▪ Static
OP_CHECKSIGVERIFY: number
Defined in
node_modules/bsv/index.d.ts:579
OP_CODESEPARATOR
▪ Static
OP_CODESEPARATOR: number
Defined in
node_modules/bsv/index.d.ts:577
OP_DEPTH
▪ Static
OP_DEPTH: number
Counts the number of stack items onto the stack and places the value on the top
Opcode
Hex
Input
Nothing
Output
Stack size
Static
Defined in
node_modules/bsv/index.d.ts:439
OP_DIV
▪ Static
OP_DIV: number
Defined in
node_modules/bsv/index.d.ts:552
OP_DROP
▪ Static
OP_DROP: number
Removes the top stack item.
Opcode
Hex
Input
x
Output
Nothing
Static
Defined in
node_modules/bsv/index.d.ts:448
OP_DUP
▪ Static
OP_DUP: number
Removes the top stack item.
Opcode
Hex
Input
x
Output
x x
Static
Defined in
node_modules/bsv/index.d.ts:457
OP_ELSE
▪ Static
OP_ELSE: number
If the preceding IF or NOTIF check was not valid then statement 2 is executed.
Opcode
Hex
Example
`[expression] IF
[statement 1]
ELSE
[statement 2]
ENDIF`
Static
Defined in
node_modules/bsv/index.d.ts:312
OP_ENDIF
▪ Static
OP_ENDIF: number
Ends an if/else block. All blocks must end, or the transaction is invalid. An OP_ENDIF without a prior matching OP_IF or OP_NOTIF is also invalid.
Opcode
Hex
Example
`[expression] IF
[statement 1]
ELSE
[statement 2]
ENDIF`
Static
Defined in
node_modules/bsv/index.d.ts:325
OP_EQUAL
▪ Static
OP_EQUAL: number
Defined in
node_modules/bsv/index.d.ts:534
OP_EQUALVERIFY
▪ Static
OP_EQUALVERIFY: number
Defined in
node_modules/bsv/index.d.ts:535
OP_FROMALTSTACK
▪ Static
OP_FROMALTSTACK: number
Puts the input onto the top of the main stack. Removes it from the alt stack.
Opcode
Hex
Input
(alt)x1
Output
x1
Static
Defined in
node_modules/bsv/index.d.ts:367
OP_GREATERTHAN
▪ Static
OP_GREATERTHAN: number
Defined in
node_modules/bsv/index.d.ts:563
OP_GREATERTHANOREQUAL
▪ Static
OP_GREATERTHANOREQUAL: number
Defined in
node_modules/bsv/index.d.ts:565
OP_HASH160
▪ Static
OP_HASH160: number
Defined in
node_modules/bsv/index.d.ts:575
OP_HASH256
▪ Static
OP_HASH256: number
Defined in
node_modules/bsv/index.d.ts:576
OP_IF
▪ Static
OP_IF: number
If the top stack value is TRUE, statement 1 is executed. If the top stack value is FALSE and ELSE is used, statement 2 is executed. If ELSE is NOT used, the script jumps to ENDIF. The top stack value is removed.
Opcode
Hex
Example
`[expression] IF
[statement 1]
ENDIF`
OR
`[expression] IF
[statement 1]
ELSE
[statement 2]
ENDIF`
Static
Defined in
node_modules/bsv/index.d.ts:266
OP_IFDUP
▪ Static
OP_IFDUP: number
If the top stack value is not 0, duplicate it.
Opcode
Hex
Input
x
Output
x / x x
Static
Defined in
node_modules/bsv/index.d.ts:430
OP_INVALIDOPCODE
▪ Static
OP_INVALIDOPCODE: number
Defined in
node_modules/bsv/index.d.ts:601
OP_INVERT
▪ Static
OP_INVERT: number
Defined in
node_modules/bsv/index.d.ts:530
OP_LESSTHAN
▪ Static
OP_LESSTHAN: number
Defined in
node_modules/bsv/index.d.ts:562
OP_LESSTHANOREQUAL
▪ Static
OP_LESSTHANOREQUAL: number
Defined in
node_modules/bsv/index.d.ts:564
OP_LSHIFT
▪ Static
OP_LSHIFT: number
Defined in
node_modules/bsv/index.d.ts:554
OP_MAX
▪ Static
OP_MAX: number
Defined in
node_modules/bsv/index.d.ts:567
OP_MIN
▪ Static
OP_MIN: number
Defined in
node_modules/bsv/index.d.ts:566
OP_MOD
▪ Static
OP_MOD: number
Defined in
node_modules/bsv/index.d.ts:553
OP_MUL
▪ Static
OP_MUL: number
Defined in
node_modules/bsv/index.d.ts:551
OP_NEGATE
▪ Static
OP_NEGATE: number
Defined in
node_modules/bsv/index.d.ts:544
OP_NIP
▪ Static
OP_NIP: number
Removes the second-to-top stack item.
Opcode
Hex
Input
x1 x2
Output
x2
Static
Defined in
node_modules/bsv/index.d.ts:466
OP_NOP
▪ Static
OP_NOP: number
Does nothing.
Opcode
Hex
Input
Nothing
Output
Nothing
Static
Defined in
node_modules/bsv/index.d.ts:237
OP_NOP1
▪ Static
OP_NOP1: number
Defined in
node_modules/bsv/index.d.ts:587
OP_NOP10
▪ Static
OP_NOP10: number
Defined in
node_modules/bsv/index.d.ts:596
OP_NOP2
▪ Static
OP_NOP2: number
Defined in
node_modules/bsv/index.d.ts:588
OP_NOP3
▪ Static
OP_NOP3: number
Defined in
node_modules/bsv/index.d.ts:589
OP_NOP4
▪ Static
OP_NOP4: number
Defined in
node_modules/bsv/index.d.ts:590
OP_NOP5
▪ Static
OP_NOP5: number
Defined in
node_modules/bsv/index.d.ts:591
OP_NOP6
▪ Static
OP_NOP6: number
Defined in
node_modules/bsv/index.d.ts:592
OP_NOP7
▪ Static
OP_NOP7: number
Defined in
node_modules/bsv/index.d.ts:593
OP_NOP8
▪ Static
OP_NOP8: number
Defined in
node_modules/bsv/index.d.ts:594
OP_NOP9
▪ Static
OP_NOP9: number
Defined in
node_modules/bsv/index.d.ts:595
OP_NOT
▪ Static
OP_NOT: number
Defined in
node_modules/bsv/index.d.ts:546
OP_NOTIF
▪ Static
OP_NOTIF: number
If the top stack value is FALSE, statement 1 is executed. If the top stack value is TRUE and ELSE is used, statement 2 is executed. If ELSE is NOT used, the script jumps to ENDIF. The top stack value is removed.
Opcode
Hex
Example
`[expression] NOTIF
[statement 1]
ENDIF`
OR
`[expression] NOTIF
[statement 1]
ELSE
[statement 2]
ENDIF`
Static
Defined in
node_modules/bsv/index.d.ts:285
OP_NUM2BIN
▪ Static
OP_NUM2BIN: number
Defined in
node_modules/bsv/index.d.ts:525
OP_NUMEQUAL
▪ Static
OP_NUMEQUAL: number
Defined in
node_modules/bsv/index.d.ts:559
OP_NUMEQUALVERIFY
▪ Static
OP_NUMEQUALVERIFY: number
Defined in
node_modules/bsv/index.d.ts:560
OP_NUMNOTEQUAL
▪ Static
OP_NUMNOTEQUAL: number
Defined in
node_modules/bsv/index.d.ts:561
OP_OR
▪ Static
OP_OR: number
Defined in
node_modules/bsv/index.d.ts:532
OP_OVER
▪ Static
OP_OVER: number
Copies the second-to-top stack item to the top.
Opcode
Hex
Input
x1 x2
Output
x1 x2 x1
Static
Defined in
node_modules/bsv/index.d.ts:475
OP_PICK
▪ Static
OP_PICK: number
The item n
back in the stack is copied to the top.
Opcode
Hex
Input
xn ... x2 x1 x0 {n}
Output
xn ... x2 x1 x0 xn
Static
Defined in
node_modules/bsv/index.d.ts:484
OP_PUBKEY
▪ Static
OP_PUBKEY: number
Defined in
node_modules/bsv/index.d.ts:600
OP_PUBKEYHASH
▪ Static
OP_PUBKEYHASH: number
Defined in
node_modules/bsv/index.d.ts:599
OP_PUSHDATA1
▪ Static
OP_PUSHDATA1: number
The next byte contains the number of bytes to be pushed onto the stack.
Opcode
Hex
Input
special
Output
data
Static
Defined in
node_modules/bsv/index.d.ts:38
OP_PUSHDATA2
▪ Static
OP_PUSHDATA2: number
The next two bytes contain the number of bytes to be pushed onto the stack in little endian order.
Opcode
Hex
Input
special
Output
data
Static
Defined in
node_modules/bsv/index.d.ts:47
OP_PUSHDATA4
▪ Static
OP_PUSHDATA4: number
The next four bytes contain the number of bytes to be pushed onto the stack in little endian order.
Opcode
Hex
Input
special
Output
data
Static
Defined in
node_modules/bsv/index.d.ts:56
OP_RESERVED
▪ Static
OP_RESERVED: number
Reserved words, Using an unassigned opcode makes the transaction invalid.
Opcode
Hex
Input
Nothing
Output
Nothing
Static
Defined in
node_modules/bsv/index.d.ts:74
OP_RESERVED1
▪ Static
OP_RESERVED1: number
Defined in
node_modules/bsv/index.d.ts:536
OP_RESERVED2
▪ Static
OP_RESERVED2: number
Defined in
node_modules/bsv/index.d.ts:537
OP_RETURN
▪ Static
OP_RETURN: number
OP_RETURN can also be used to create "False Return" outputs with a scriptPubKey consisting of OP_FALSE OP_RETURN followed by data. Such outputs are provably unspendable and should be given a value of zero Satoshis. These outputs can be pruned from storage in the UTXO set, reducing its size. After the Genesis upgrade in 2020 miners will be free to mine transactions containing FALSE RETURN outputs of any size.
Opcode
Hex
Input
Nothing
Output
Ends script with top value on stack as final result
Static
Defined in
node_modules/bsv/index.d.ts:346
OP_RIPEMD160
▪ Static
OP_RIPEMD160: number
Defined in
node_modules/bsv/index.d.ts:572
OP_ROLL
▪ Static
OP_ROLL: number
The item n
back in the stack is copied to the top.
Opcode
Hex
Input
xn ... x2 x1 x0 {n}
Output
... x2 x1 x0 xn
Static
Defined in
node_modules/bsv/index.d.ts:493
OP_ROT
▪ Static
OP_ROT: number
The top three items on the stack are rotated to the left.
Opcode
Hex
Input
x1 x2 x3
Output
x2 x3 x1
Static
Defined in
node_modules/bsv/index.d.ts:502
OP_RSHIFT
▪ Static
OP_RSHIFT: number
Defined in
node_modules/bsv/index.d.ts:555
OP_SHA1
▪ Static
OP_SHA1: number
Defined in
node_modules/bsv/index.d.ts:573
OP_SHA256
▪ Static
OP_SHA256: number
Defined in
node_modules/bsv/index.d.ts:574
OP_SIZE
▪ Static
OP_SIZE: number
Defined in
node_modules/bsv/index.d.ts:527
OP_SPLIT
▪ Static
OP_SPLIT: number
Defined in
node_modules/bsv/index.d.ts:524
OP_SUB
▪ Static
OP_SUB: number
Defined in
node_modules/bsv/index.d.ts:550
OP_SWAP
▪ Static
OP_SWAP: number
The top two items on the stack are swapped.
Opcode
Hex
Input
x1 x2
Output
x2 x1
Static
Defined in
node_modules/bsv/index.d.ts:511
OP_TOALTSTACK
▪ Static
OP_TOALTSTACK: number
Puts the input onto the top of the alt stack. Removes it from the main stack.
Opcode
Hex
Input
x1
Output
(alt)x1
Static
Defined in
node_modules/bsv/index.d.ts:358
OP_TRUE
▪ Static
OP_TRUE: number
The number 1 is pushed onto the stack.
Opcode
Hex
Input
Nothing
Output
1
Static
Defined in
node_modules/bsv/index.d.ts:83
OP_TUCK
▪ Static
OP_TUCK: number
The item at the top of the stack is copied and inserted before the second-to-top item.
Opcode
Hex
Input
x1 x2
Output
x2 x1 x2
Static
Defined in
node_modules/bsv/index.d.ts:520
OP_VER
▪ Static
OP_VER: number
DISABLED.Puts the version of the protocol under which this transaction will be evaluated onto the stack.
Opcode
Hex
Input
Nothing
Output
Protocol version
Static
Defined in
node_modules/bsv/index.d.ts:247
OP_VERIF
▪ Static
OP_VERIF: number
DISABLED
Opcode
Hex
Static
Defined in
node_modules/bsv/index.d.ts:292
OP_VERIFY
▪ Static
OP_VERIFY: number
Marks transaction as invalid if top stack value is not true. The top stack value is removed.
Opcode
Hex
Input
True / false
Output
Nothing / fail
Static
Defined in
node_modules/bsv/index.d.ts:334
OP_VERNOTIF
▪ Static
OP_VERNOTIF: number
DISABLED
Opcode
Hex
Static
Defined in
node_modules/bsv/index.d.ts:299
OP_WITHIN
▪ Static
OP_WITHIN: number
Defined in
node_modules/bsv/index.d.ts:569
OP_XOR
▪ Static
OP_XOR: number
Defined in
node_modules/bsv/index.d.ts:533