BTC 脚本与地址总结

runtoweb3.com 发布于 2024-09-05 阅读 2053

常用的操作码1.基本操作码OP_0(0x00)?作用:将数值0(false)压入堆栈。?用途:通常用于标记或填充空位。OP_1(0x51)到OP_16(0x60)?作用:将数值1到16压入堆栈。?用途:用于条件语句和多重签名验证。2.堆栈操作

常用的操作码

1.基本操作码

  • OP_0 (0x00) ?作用: 将数值0(false)压入堆栈。 ?用途: 通常用于标记或填充空位。
  • OP_1 (0x51) 到 OP_16 (0x60) ?作用: 将数值 1 到 16 压入堆栈。 ?用途: 用于条件语句和多重签名验证。

2.堆栈操作

  • OP_DUP (0x76) ?作用: 复制堆栈顶部的项。 ?用途: 常用于重复使用堆栈顶部的值。
  • OP_DROP (0x75) ?作用: 移除堆栈顶部的项。 ?用途: 删除不再需要的值。
  • OP_SWAP (0x7c) ?作用: 交换堆栈顶部的两项。 ?用途: 改变堆栈中项的顺序。

3.算术和逻辑操作

  • OP_ADD (0x93) ?作用: 将堆栈顶部的两个数相加并将结果压入堆栈。 ?用途: 执行简单的加法操作。
  • OP_EQUAL (0x87) ?作用: 比较堆栈顶部的两个值,如果相等则返回true(压入1),否则返回false(压入0)。 ?用途: 比较两个值是否相等。
  • OP_EQUALVERIFY (0x88) ?作用: 运行OP_EQUAL,然后根据结果决定是否继续执行脚本。如果结果为false,则脚本失败。 ?用途: 常用于验证签名等条件。

4.加密和哈希操作

  • OP_SHA256 (0xa8) ?作用: 对堆栈顶部的项执行SHA-256哈希运算,并将结果压入堆栈。 ?用途: 生成数据的哈希值。
  • OP_HASH160 (0xa9) ?作用: 对堆栈顶部的项先执行SHA-256哈希运算,再执行RIPEMD-160哈希运算,并将结果压入堆栈。 ?用途: 生成比特币地址的哈希值。
  • OP_CHECKSIG (0xac) ?作用: 验证堆栈顶部的签名是否有效。 ?用途: 确认交易的有效性。
  • OP_CHECKMULTISIG (0xae) ?作用: 验证多个签名是否有效。 ?用途: 多重签名验证。

5.条件操作

  • OP_IF (0x63) ?作用: 如果堆栈顶部的值为true,则执行接下来的操作码,直到遇到OP_ELSE或OP_ENDIF。 ?用途: 用于条件执行。
  • OP_ELSE (0x67) ?作用: 与OP_IF配合使用,执行OP_IF条件为false时的操作码。 ?用途: 用于条件执行。
  • OP_ENDIF (0x68) ?作用: 结束条件执行块。 ?用途: 用于条件执行。

script

script.png

address

address.jpg

相关文章

0 条评论