Script
目前操作碼列表?
任何人都知道如何/在哪裡執行
enum optypecode
<https://www.slideshare.net/gvrooyen/20140220-bitcoin/34-We_just_used_4_opcodesenum>
這是 Bitcoin Core v0.14.0 支持的操作碼列表:
<https://github.com/bitcoin/bitcoin/blob/v0.14.0/src/script/script.h#L46L187>
除了查看比特幣的原始碼之外,我認為沒有可以執行的命令。(尋找
enum opcodetype
)請注意,那裡列出的許多操作碼
- 被禁用以降低複雜性,(
OP_CAT
)- 根據應用的軟分叉改變含義,(
OP_CHECKLOCKTIMEVERIFY
並且OP_NOP2
具有相同的操作碼)或- 在腳本中可能沒有意義。(
OP_SMALLINTEGER
)要獲得在不使腳本失敗的情況下實際可以使用的列表,您需要查看實際評估腳本的程式碼。(尋找
Bool EvalScript
)以下是截至撰寫本文時的合法操作碼列表:
(direct push, opcode 0x01-0x4b) OP_PUSHDATA1 OP_PUSHDATA2 OP_PUSHDATA4 OP_0-16 OP_TRUE OP_FALSE OP_1NEGATE OP_CHECKLOCKTIMEVERIFY OP_CHECKSEQUENCEVERIFY OP_NOP OP_NOP1-10 OP_IF OP_NOTIF OP_ELSE OP_ENDIF OP_VERIFY OP_RETURN OP_TOALTSTACK OP_FROMALTSTACK OP_2DROP OP_2DUP OP_3DUP OP_2OVER OP_2ROT OP_2SWAP OP_IFDUP OP_DEPTH OP_DROP OP_DUP OP_NIP OP_OVER OP_PICK OP_ROLL OP_ROT OP_SWAP OP_TUCK OP_SIZE OP_EQUAL OP_EQUALVERIFY OP_NUMNOTEQUAL OP_1ADD OP_1SUB OP_NEGATE OP_ABS OP_NOT OP_0NOTEQUAL OP_1ADD OP_1SUB OP_NEGATE OP_ABS OP_NOT OP_0NOTEQUAL OP_ADD OP_SUB OP_BOOLAND OP_BOOLOR OP_NUMEQUAL OP_NUMEQUALVERIFY OP_NUMNOTEQUAL OP_LESSTHAN OP_GREATERTHAN OP_LESSTHANOREQUAL OP_GREATERTHANOREQUAL OP_MIN OP_MAX OP_ADD OP_SUB OP_BOOLAND OP_BOOLOR OP_NUMEQUAL OP_NUMEQUALVERIFY OP_NUMNOTEQUAL OP_LESSTHAN OP_GREATERTHAN OP_LESSTHANOREQUAL OP_GREATERTHANOREQUAL OP_MIN OP_MAX OP_WITHIN OP_RIPEMD160 OP_SHA1 OP_SHA256 OP_HASH160 OP_HASH256 OP_CODESEPARATOR OP_CHECKSIG OP_CHECKSIGVERIFY OP_CHECKMULTISIG OP_CHECKMULTISIGVERIFY
比特幣維基有一個關於這個主題的優秀頁面,如果你想弄清楚比特幣腳本中有什麼可能的話。