<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                # 附錄2、交易腳本語言操作符,常量和符號 以下的表和描述參見<https://en.bitcoin.it/wiki/Script> 表1.腳本壓入堆棧 | 符號 | 值 (十六進制) | 描述 | | ---------------- | ------------ | ------------------------------ | | OP_0 or OP_FALSE | 0x00 | 一個字節空串被壓入堆棧中 | | 1-75 | 0x01-0x4b | 把接下來的N 個字節壓入堆棧中,N 的取值在1 到75 之間 | | OP_PUSHDATA1 | 0x4c | 下一個腳本字節包括N,會將接下來的N 個字節壓入堆棧 | | OP_PUSHDATA2 | 0x4d | 下兩個腳本字節包括N,會將接下來的N 個字節壓入堆棧 | | OP_PUSHDATA4 | 0x4e | 下四個腳本字節包括N,會將接下來的N 個字節壓入堆棧 | | OP_1NEGATE | 0x4f | 將腳本-1 壓入堆棧 | | OP_RESERVED | 0x50 | 終止- 交易無效(除非在未執行的OP_IF語句中) | | OP_1 or OP_TRUE | 0x51 | 將腳本1 壓入堆棧 | | OP_2 to OP_16 | 0x52 to 0x60 | 將腳本N 壓入堆棧,例如OP_2 壓入腳本“2” | 表2.有條件的流控制的操作符 | 符號 | 值 (十六進制) | 描述 | | ----------- | -------- | ---------------------------------------- | | OP_NOP | 0x61 | 無操作 | | OP_VER | 0x62 | 終止- 交易無效(除非在未執行的OP_IF 語句中) | | OP_IF | 0x63 | 如果棧項元素值為0,語句將被執行 | | OP_NOTIF | 0x64 | 如果棧項元素值不為0,語句將被執行 | | OP_VERIF | 0x65 | 終止- 交易無效 | | OP_VERNOTIF | 0x66 | 終止- 交易無效 | | OP_ELSE | 0x67 | 如果前述的OP_IF 或OP_NOTIF 或OP_ELSE 未被執行,這些語句就會被執行 | | OP_ENDIF | 0x68 | 終止OP_IF, OP_NOTIF, OP_ELSE 區塊 | | OP_VERIFY | 0x69 | 如果棧項元素值非真,則標記交易無效 | | OP_RETURN | 0x6a | 標記交易無效 | 表3.時間鎖操作符 | 符號 | 值 (十六進制) | 描述 | | ---------------------------------------- | -------- | ---------------------------------------- | | OP_CHECKLOCKTIMEVERIFY (previously OP_NOP2) | 0xb1 | 如果棧頂元素比交易鎖定時間字段大,則將交易標記為無效。否則腳本評測將像OP_NOP操作一樣繼續執行。交易在一下4種之一的情況下是無效的:1.堆棧是空的;2.棧頂元素是負數;3.當交易鎖定時間字段值少于500000000時,棧頂元素大于等于500000000,反之亦然;4.輸入序列字段等于0xffffffff。具體內容詳見BIP-65。 | | OP_CHECKSEQUENCEVERIFY (previously OP_NOP3) | 0xb2 | 如果輸入值(BIP 0068強制規定的順序)的相對鎖定時間不等于或多于棧頂元素值時,將交易標記為無效。具體內容詳見BIP-112。 | 表4.堆棧操作符 | 符號 | 值 (十六進制) | 描述 | | --------------- | -------- | ---------------------------------------- | | OP_TOALTSTACK | 0x6b | 從主堆棧中取出元素,推入輔堆棧。 | | OP_FROMALTSTACK | 0x6c | 從輔堆棧中取出元素,推入主堆棧 | | OP_2DROP | 0x6d | 移除棧頂兩個元素 | | OP_2DUP | 0x6e | 復制棧頂兩個元素 | | OP_3DUP | 0x6f | 復制棧頂三個元素 | | OP_2OVER | 0x70 | 把棧底的第三、第四個元素拷貝到棧頂 | | OP_2ROT | 0x71 | 移動第五、第六元素到棧頂 | | OP_2SWAP | 0x72 | 將棧頂的兩個元素進行交換 | | OP_IFDUP | 0x73 | 如果棧項元素值不為0,復制該元素值 | | OP_DEPTH | 0x74 | Count the items on the stack and push the resulting count | | OP_DROP | 0x75 | 刪除棧頂元素 | | OP_DUP | 0x76 | 復制棧頂元素 | | OP_NIP | 0x77 | 刪除棧頂的下一個元素 | | OP_OVER | 0x78 | 復制棧頂的下一個元素到棧頂 | | OP_PICK | 0x79 | 把堆棧的第n 個元素拷貝到棧頂 | | OP_ROLL | 0x7a | 把堆棧的第n 個元素移動到棧頂 | | OP_ROT | 0x7b | 翻轉棧頂的三個元素 | | OP_SWAP | 0x7c | 棧頂的三個元素交換 | | OP_TUCK | 0x7d | 拷貝棧頂元素并插入到棧頂第二個元素之后 | 表5.字符串接操作 | 符號 | 值 (十六進制) | 描述 | | ----------- | -------- | ---------------------- | | *OP_CAT* | 0x7e | 連接兩個字符串,已禁用 | | *OP_SUBSTR* | 0x7f | 返回字符串的一部分,已禁用 | | *OP_LEFT* | 0x80 | 在一個字符串中保留左邊指定長度的子串,已禁用 | | *OP_RIGHT* | 0x81 | 在一個字符串中保留右邊指定長度的子串,已禁用 | | OP_SIZE | 0x82 | 把棧頂元素的字符串長度壓入堆棧 | 表6.二進制算術和條件 | 符號 | 值 (十六進制) | 描述 | | -------------- | -------- | -------------------------------- | | *OP_INVERT* | 0x83 | 所有輸入的位取反,已禁用 | | *OP_AND* | 0x84 | 對輸入的所有位進行布爾與運算,已禁用 | | *OP_OR* | 0x85 | 對輸入的每一位進行布爾或運算,已禁用 | | *OP_XOR* | 0x86 | 對輸入的每一位進行布爾異或運算,已禁用 | | OP_EQUAL | 0x87 | 如果輸入的兩個數相等,返回1,否則返回0 | | OP_EQUALVERIFY | 0x88 | 與OP_EQUAL 一樣,如結果為0,之后運行OP_VERIFY | | OP_RESERVED1 | 0x89 | 終止- 無效交易(除非在未執行的OP_IF 語句中) | | OP_RESERVED2 | 0x8a | 終止-無效交易(除非在未執行的OP_IF 語句中) | 表7.數值操作 | 符號 | 值 (十六進制) | 描述 | | --------------------- | -------- | ----------------------------- | | OP_1ADD | 0x8b | 棧頂值加1 | | OP_1SUB | 0x8c | 棧頂值減1 | | *OP_2MUL* | 0x8d | 無效(棧頂值乘2) | | *OP_2DIV* | 0x8e | 無效(棧頂值除2) | | OP_NEGATE | 0x8f | 棧頂值符號取反 | | OP_ABS | 0x90 | 棧頂值符號取正 | | OP_NOT | 0x91 | 如果棧頂值為0 或1,則輸出1或0;否則輸出0 | | OP_0NOTEQUAL | 0x92 | 輸入值為0 輸出0;否則輸出1 | | OP_ADD | 0x93 | 彈出棧頂的兩個元素,壓入二者相加結果 | | OP_SUB | 0x94 | 彈出棧頂的兩個元素,壓入二者相減(第二項減去第一項)結果 | | OP_MUL | 0x95 | 禁用(棧頂兩項的積) | | OP_DIV | 0x96 | 禁用(輸出用第二項除以第一項的倍數) | | OP_MOD | 0x97 | 禁用(輸出用第二項除以第一項得到的余數) | | OP_LSHIFT | 0x98 | 禁用(左移第二項,移動位數為第一項的二進制位數) | | OP_RSHIFT | 0x99 | 禁用(右移第二項,移動位數為第一項的二進制位數) | | OP_BOOLAND | 0x9a | 布爾與運算,兩項都不為0,輸出1,否則輸出0 | | OP_BOOLOR | 0x9b | 布爾或運算,兩項有一個不為0,輸出1,否則輸出0 | | OP_NUMEQUAL | 0x9c | 兩項相等則輸出1,否則輸出為0 | | OP_NUMEQUALVERIFY | 0x9d | 與NUMEQUAL 相同,如結果為0運行OP_VERIFY | | OP_NUMNOTEQUAL | 0x9e | 如果棧頂兩項不是相等數的話,則輸出1 | | OP_LESSTHAN | 0x9f | 如果第二項小于棧頂項,則輸出1 | | OP_GREATERTHAN | 0xa0 | 如果第二項大于棧頂項,則輸出1 | | OP_LESSTHANOREQUAL | 0xa1 | 如果第二項小于或等于第一項,則輸出1 | | OP_GREATERTHANOREQUAL | 0xa2 | 如果第二項大于或等于第一項,則輸出1 | | OP_MIN | 0xa3 | 輸出棧頂兩項中較小的一項 | | OP_MAX | 0xa4 | 輸出棧頂兩項中較大的一項 | | OP_WITHIN | 0xa5 | 如果第三項的數值介于前兩項之間,則輸出1 | 表8.加密和散列操作 | 符號 | 值 (十六進制) | 描述 | | ---------------------- | -------- | ---------------------------------------- | | OP_RIPEMD160 | 0xa6 | 返回棧頂項的RIPEMD160 哈希值 | | OP_SHA1 | 0xa7 | 返回棧頂項SHA1 哈希值 | | OP_SHA256 | 0xa8 | 返回棧頂項SHA256 哈希值 | | OP_HASH160 | 0xa9 | 棧頂項進行兩次HASH,先用SHA-256,再用RIPEMD-160 | | OP_HASH256 | 0xaa | 棧頂項用SHA-256 算法HASH 兩次 | | OP_CODESEPARATOR | 0xab | 標記已進行簽名驗證的數據 | | OP_CHECKSIG | 0xac | 交易所用的簽名必須是哈希值和公鑰的有效簽名,如果為真,則返回1 | | OP_CHECKSIGVERIFY | 0xad | 與CHECKSIG 一樣,但之后運行OP_VERIFY | | OP_CHECKMULTISIG | 0xae | 對于每對簽名和公鑰運行CHECKSIG。所有的簽名要與公鑰匹配。因為存在BUG,一個未使用的外部值會從堆棧中刪除。 | | OP_CHECKMULTISIGVERIFY | 0xaf | 與CHECKMULTISIG 一樣,但之后運行OP_VERIFY | 表9.非操作符 | 符號 | 值 (十六進制) | 描述 | | ---------------- | --------- | ----- | | OP_NOP1-OP_NOP10 | 0xb0-0xb9 | 無操作忽略 | 表10.僅供內部使用的保留關鍵字 | 符號 | 值 (十六進制) | 描述 | | ---------------- | -------- | ----------- | | OP_SMALLDATA | 0xf9 | 代表小數據域 | | OP_SMALLINTEGER | 0xfa | 代表小整數數據域 | | OP_PUBKEYS | 0xfb | 代表公鑰域 | | OP_PUBKEYHASH | 0xfd | 代表公鑰哈希域 | | OP_PUBKEY | 0xfe | 代表公鑰域 | | OP_INVALIDOPCODE | 0xff | 代表當前未指定的操作碼 |
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看