知识库详情
知识库

以“词条释义”的形式对比特币区块链技术中经常涉及的术语及基本概念进行专业化的阐释和解读。

Pushdata操作码
返回上级
BSV区块链编辑 2022-04-14 18:23 58

每个Pushdata操作码都通过脚本中数据项的值来确定要压入堆栈的数据项的长度。

操作码1-750x01 – 0x4B

操作码1-75只是将数据字节量的数值压入堆栈。

举例:

0x08 <8字节数据项> :将8个字节的数据项留在堆栈上。

0x20 <32字节数据项>:将32个字节的数据项留在堆栈上。

OP_PUSHDATA176或0x4C

OP_PUSHDATA1将接下来的1个字节读取为要压入堆栈的字节数。它可以将长度为1至255字节的数据项压入堆栈,但是,它通常仅用于大小超过 75 字节的数据项。

举例:

0x4C 0x64 <100 字节数据项>:将100字节的数据项留在堆栈上。

0x4C 0xFF <255 字节数据项> :将255字节的数据项留在堆栈上。

OP_PUSHDATA2(77或0x4D)

OP_PUSHDATA2将接下来的2个字节读取为要压入堆栈的字节数。它可以将长度为256到65,535字节的数据项压入堆栈。

举例:

0x4D 0x0100 <256字节数据项> :将256字节的数据项留在堆栈上。

0x4D 0xFFFF <65,535字节数据项> :将65,535字节的数据项留在堆栈上。

OP_PUSHDATA4(78或0x4E)

OP_PUSHDATA4将接下来的4个字节读取为要压入堆栈的字节数。它可以将长度为65,536至4,294,967,295字节的数据项压入堆栈。

举例:

0x4E 0x00010000 <65,536字节数据项>:将65,536字节的数据项留在堆栈中。

0x4E 0xFFFFFFFF <4,294,967,295字节数据项>:将4,294,967,295字节的数据项留在堆栈中。

OP_PUSHDATA4 是比特币脚本中最大的Pushdata操作码,它将脚本中单个数据项的大小限制为4,294,967,295B。一旦数据项在堆栈上存在,就可以使用OP_CAT操作码将它们连接在一起,从而验证文件哈希,或实现其它目的。

脚本
False Return
脚本
Pushdata操作码
比特币脚本操作码
R-Puzzle脚本
OP_CHECKSIG
流控制脚本(条件语句)
OP_CODESEPARATOR
OP_RETURN