new TransactionBuilder()
- Description:
Bitcoin transaction builder with SegWit/Taproot signing support
- Source:
Methods
addInput(input) → {TransactionBuilder}
- Description:
Add a transaction input
- Source:
Parameters:
| Name | Type | Description | ||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
input |
Object | Input details Properties
|
Returns:
this
- Type
- TransactionBuilder
addOpReturn(data) → {TransactionBuilder}
- Description:
Add an OP_RETURN output
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
data |
Buffer | string | Data to embed (max 80 bytes) |
Returns:
this
- Type
- TransactionBuilder
addOutput(output) → {TransactionBuilder}
- Description:
Add a transaction output
- Source:
Parameters:
| Name | Type | Description | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
output |
Object | Output details Properties
|
Returns:
this
- Type
- TransactionBuilder
addWitness(inputIndex, witnessStack) → {TransactionBuilder}
- Description:
Manually add witness data to an input
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
inputIndex |
number | Input index |
witnessStack |
Array.<Buffer> | Witness items |
Returns:
this
- Type
- TransactionBuilder
build() → {Object}
- Description:
Build the final transaction
- Source:
Throws:
-
If no inputs or outputs
Returns:
Built transaction object
- Type
- Object
calculateFee(feeRateopt) → {number}
- Description:
Calculate transaction fee given fee rate
- Source:
Parameters:
| Name | Type | Attributes | Default | Description |
|---|---|---|---|---|
feeRate |
number |
<optional> |
1
|
Satoshis per vbyte |
Returns:
Fee in satoshis
- Type
- number
clone() → {TransactionBuilder}
- Description:
Clone the builder
- Source:
Returns:
Cloned builder
- Type
- TransactionBuilder
enableRBF(inputIndexopt) → {TransactionBuilder}
- Description:
Enable Replace-by-Fee for an input
- Source:
Parameters:
| Name | Type | Attributes | Default | Description |
|---|---|---|---|---|
inputIndex |
number |
<optional> |
null
|
Specific input index, or all if null |
Returns:
this
- Type
- TransactionBuilder
getTxid(transactionopt) → {string}
- Description:
Get transaction ID (txid)
- Source:
Parameters:
| Name | Type | Attributes | Default | Description |
|---|---|---|---|---|
transaction |
Object |
<optional> |
null
|
Transaction object |
Returns:
Transaction ID in hex
- Type
- string
getVirtualSize() → {number}
- Description:
Get virtual size (vsize) for fee calculation
- Source:
Returns:
Virtual size in vbytes
- Type
- number
getWeight() → {number}
- Description:
Get transaction weight
- Source:
Returns:
Weight units
- Type
- number
getWtxid() → {string}
- Description:
Get witness transaction ID (wtxid)
- Source:
Returns:
Witness transaction ID in hex
- Type
- string
isFullySigned() → {boolean}
- Description:
Check if all inputs are signed
- Source:
Returns:
True if all inputs signed
- Type
- boolean
reset() → {TransactionBuilder}
- Description:
Reset the builder
- Source:
Returns:
this
- Type
- TransactionBuilder
serialize(transactionopt) → {Buffer}
- Description:
Serialize transaction to raw bytes
- Source:
Parameters:
| Name | Type | Attributes | Default | Description |
|---|---|---|---|---|
transaction |
Object |
<optional> |
null
|
Transaction to serialize |
Returns:
Serialized transaction
- Type
- Buffer
setInputSequence(inputIndex, sequence) → {TransactionBuilder}
- Description:
Set custom sequence for an input (for CSV/CLTV)
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
inputIndex |
number | Input index |
sequence |
number | Sequence value |
Returns:
this
- Type
- TransactionBuilder
setLocktime(locktime) → {TransactionBuilder}
- Description:
Set locktime
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
locktime |
number | Locktime value |
Returns:
this
- Type
- TransactionBuilder
setVersion(version) → {TransactionBuilder}
- Description:
Set version
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
version |
number | Transaction version |
Returns:
this
- Type
- TransactionBuilder
(async) signAllInputs(privateKey, sighashTypeopt) → {Promise.<TransactionBuilder>}
- Description:
Sign all inputs with the same private key
- Source:
Parameters:
| Name | Type | Attributes | Default | Description |
|---|---|---|---|---|
privateKey |
Buffer | string | Private key |
||
sighashType |
number |
<optional> |
0x01
|
Sighash type |
Returns:
this
- Type
- Promise.<TransactionBuilder>
(async) signInput(inputIndex, privateKey, sighashTypeopt) → {Promise.<TransactionBuilder>}
- Description:
Sign a single input
- Source:
Parameters:
| Name | Type | Attributes | Default | Description |
|---|---|---|---|---|
inputIndex |
number | Index of input to sign |
||
privateKey |
Buffer | string | Private key (32 bytes) |
||
sighashType |
number |
<optional> |
0x01
|
Sighash type |
Returns:
this
- Type
- Promise.<TransactionBuilder>
(async) signInputs(signingInfo) → {Promise.<TransactionBuilder>}
- Description:
Sign inputs with different keys
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
signingInfo |
Array.<Object> | Array of {inputIndex, privateKey, sighashType} |
Returns:
this
- Type
- Promise.<TransactionBuilder>
toHex() → {string}
- Description:
Get serialized transaction as hex string
- Source:
Returns:
Hex-encoded transaction
- Type
- string