ScriptBuilder

ScriptBuilder

new ScriptBuilder()

Description:
  • Script Builder class

Source:

Methods

addOp(opcode) → {ScriptBuilder}

Description:
  • Add an opcode

Source:
Parameters:
Name Type Description
opcode number

Opcode to add

Returns:

this

Type
ScriptBuilder

build() → {Buffer}

Description:
  • Build the script

Source:
Returns:

Compiled script

Type
Buffer

pushData(data) → {ScriptBuilder}

Description:
  • Push data onto the stack

Source:
Parameters:
Name Type Description
data Buffer | string

Data to push

Returns:

this

Type
ScriptBuilder

pushNumber(num) → {ScriptBuilder}

Description:
  • Push a number onto the stack

Source:
Parameters:
Name Type Description
num number

Number to push

Returns:

this

Type
ScriptBuilder

reset() → {ScriptBuilder}

Description:
  • Reset the builder

Source:
Returns:

this

Type
ScriptBuilder

(static) createCLTV(locktime, pubkeyHash) → {Buffer}

Description:
  • Create CLTV (CheckLockTimeVerify) script

Source:
Parameters:
Name Type Description
locktime number

Locktime value

pubkeyHash Buffer

Public key hash

Returns:

CLTV script

Type
Buffer

(static) createCSV(sequence, pubkeyHash) → {Buffer}

Description:
  • Create CSV (CheckSequenceVerify) script

Source:
Parameters:
Name Type Description
sequence number

Relative locktime

pubkeyHash Buffer

Public key hash

Returns:

CSV script

Type
Buffer

(static) createMultisig(m, publicKeys) → {Buffer}

Description:
  • Create multisig script

Source:
Parameters:
Name Type Description
m number

Required signatures

publicKeys Array.<Buffer>

Public keys

Returns:

Multisig script

Type
Buffer

(static) createOpReturn(data) → {Buffer}

Description:
  • Create OP_RETURN output script

Source:
Parameters:
Name Type Description
data Buffer | string

Data to embed (max 80 bytes)

Returns:

scriptPubKey

Type
Buffer

(static) createP2PKH(pubkeyHash) → {Buffer}

Description:
  • Create P2PKH scriptPubKey

Source:
Parameters:
Name Type Description
pubkeyHash Buffer

20-byte public key hash

Returns:

scriptPubKey

Type
Buffer

(static) createP2PKHFromPubkey(publicKey) → {Buffer}

Description:
  • Create P2PKH scriptPubKey from public key

Source:
Parameters:
Name Type Description
publicKey Buffer

Compressed or uncompressed public key

Returns:

scriptPubKey

Type
Buffer

(static) createP2PKHScriptSig(signature, publicKey) → {Buffer}

Description:
  • Create P2PKH scriptSig (unlocking script)

Source:
Parameters:
Name Type Description
signature Buffer

DER signature with sighash type

publicKey Buffer

Public key

Returns:

scriptSig

Type
Buffer

(static) createP2SH(scriptHash) → {Buffer}

Description:
  • Create P2SH scriptPubKey

Source:
Parameters:
Name Type Description
scriptHash Buffer

20-byte script hash

Returns:

scriptPubKey

Type
Buffer

(static) createP2SHScriptSig(pushData, redeemScript) → {Buffer}

Description:
  • Create P2SH scriptSig

Source:
Parameters:
Name Type Description
pushData Array.<Buffer>

Array of data to push

redeemScript Buffer

The redeem script

Returns:

scriptSig

Type
Buffer

(static) createP2TR(xOnlyPubkey) → {Buffer}

Description:
  • Create P2TR scriptPubKey (Taproot)

Source:
Parameters:
Name Type Description
xOnlyPubkey Buffer

32-byte x-only public key

Returns:

scriptPubKey

Type
Buffer

(static) createP2WPKH(pubkeyHash) → {Buffer}

Description:
  • Create P2WPKH scriptPubKey (SegWit v0)

Source:
Parameters:
Name Type Description
pubkeyHash Buffer

20-byte public key hash

Returns:

scriptPubKey

Type
Buffer

(static) createP2WPKHFromPubkey(publicKey) → {Buffer}

Description:
  • Create P2WPKH scriptPubKey from public key

Source:
Parameters:
Name Type Description
publicKey Buffer

Compressed public key

Returns:

scriptPubKey

Type
Buffer

(static) createP2WSH(scriptHash) → {Buffer}

Description:
  • Create P2WSH scriptPubKey (SegWit v0)

Source:
Parameters:
Name Type Description
scriptHash Buffer

32-byte script hash (SHA256)

Returns:

scriptPubKey

Type
Buffer

(static) detectType(script) → {Object}

Description:
  • Detect script type

Source:
Parameters:
Name Type Description
script Buffer

Script to analyze

Returns:

Script type info

Type
Object

(static) disassemble(script) → {string}

Description:
  • Disassemble script to string

Source:
Parameters:
Name Type Description
script Buffer

Script to disassemble

Returns:

Human-readable script

Type
string

(static) parse(script) → {Array}

Description:
  • Parse a script into human-readable format

Source:
Parameters:
Name Type Description
script Buffer

Script to parse

Returns:

Array of parsed elements

Type
Array