public class ScriptBuilder extends Object
Tools for the construction of commonly used script types. You don't normally need this as it's hidden behind
convenience methods on Transaction, but they are useful when working with the
protocol at a lower level.
| Constructor and Description |
|---|
ScriptBuilder()
Creates a fresh ScriptBuilder with an empty program.
|
ScriptBuilder(Script template)
Creates a fresh ScriptBuilder with the given program as the starting point.
|
| Modifier and Type | Method and Description |
|---|---|
ScriptBuilder |
addChunk(int index,
ScriptChunk chunk)
Adds the given chunk at the given index in the program
|
ScriptBuilder |
addChunk(ScriptChunk chunk)
Adds the given chunk to the end of the program
|
Script |
build()
Creates a new immutable Script based on the state of the builder.
|
static Script |
createInputScript(TransactionSignature signature)
Creates a scriptSig that can redeem a pay-to-pubkey output.
|
static Script |
createInputScript(TransactionSignature signature,
ECKey pubKey)
Creates a scriptSig that can redeem a pay-to-address output.
|
static Script |
createMultiSigInputScript(List<TransactionSignature> signatures)
Create a program that satisfies an OP_CHECKMULTISIG program.
|
static Script |
createMultiSigInputScript(TransactionSignature... signatures)
Create a program that satisfies an OP_CHECKMULTISIG program.
|
static Script |
createMultiSigInputScriptBytes(List<byte[]> signatures)
Create a program that satisfies an OP_CHECKMULTISIG program, using pre-encoded signatures.
|
static Script |
createMultiSigInputScriptBytes(List<byte[]> signatures,
byte[] multisigProgramBytes)
Create a program that satisfies an OP_CHECKMULTISIG program, using pre-encoded signatures.
|
static Script |
createMultiSigOutputScript(int threshold,
List<ECKey> pubkeys)
Creates a program that requires at least N of the given keys to sign, using OP_CHECKMULTISIG.
|
static Script |
createOpReturnScript(byte[] data)
Creates a script of the form OP_RETURN [data].
|
static Script |
createOutputScript(Address to)
Creates a scriptPubKey that encodes payment to the given address.
|
static Script |
createOutputScript(ECKey key)
Creates a scriptPubKey that encodes payment to the given raw public key.
|
static Script |
createP2SHMultiSigInputScript(List<TransactionSignature> signatures,
Script multisigProgram)
Create a program that satisfies a pay-to-script hashed OP_CHECKMULTISIG program.
|
static Script |
createP2SHOutputScript(byte[] hash)
Creates a scriptPubKey that sends to the given script hash.
|
static Script |
createP2SHOutputScript(int threshold,
List<ECKey> pubkeys)
Creates a P2SH output script with given public keys and threshold.
|
static Script |
createP2SHOutputScript(Script redeemScript)
Creates a scriptPubKey for the given redeem script.
|
static Script |
createRedeemScript(int threshold,
List<ECKey> pubkeys)
Creates redeem script with given public keys and threshold.
|
ScriptBuilder |
data(byte[] data)
Adds a copy of the given byte array as a data element (i.e.
|
ScriptBuilder |
data(int index,
byte[] data)
Adds a copy of the given byte array as a data element (i.e.
|
ScriptBuilder |
op(int opcode)
Adds the given opcode to the end of the program.
|
ScriptBuilder |
op(int index,
int opcode)
Adds the given opcode to the given index in the program
|
ScriptBuilder |
smallNum(int num)
Adds the given number as a OP_N opcode to the end of the program.
|
ScriptBuilder |
smallNum(int index,
int num)
Adds the given number as a OP_N opcode to the given index in the program.
|
static Script |
updateScriptWithSignature(Script scriptSig,
byte[] signature,
int targetIndex,
int sigsPrefixCount,
int sigsSuffixCount)
Returns a copy of the given scriptSig with the signature inserted in the given position.
|
public ScriptBuilder()
public ScriptBuilder(Script template)
public ScriptBuilder addChunk(ScriptChunk chunk)
public ScriptBuilder addChunk(int index, ScriptChunk chunk)
public ScriptBuilder op(int opcode)
public ScriptBuilder op(int index, int opcode)
public ScriptBuilder data(byte[] data)
public ScriptBuilder data(int index, byte[] data)
public ScriptBuilder smallNum(int num)
public ScriptBuilder smallNum(int index, int num)
public Script build()
public static Script createOutputScript(Address to)
public static Script createOutputScript(ECKey key)
public static Script createInputScript(@Nullable TransactionSignature signature, ECKey pubKey)
public static Script createInputScript(@Nullable TransactionSignature signature)
public static Script createMultiSigOutputScript(int threshold, List<ECKey> pubkeys)
public static Script createMultiSigInputScript(List<TransactionSignature> signatures)
public static Script createMultiSigInputScript(TransactionSignature... signatures)
public static Script createMultiSigInputScriptBytes(List<byte[]> signatures)
public static Script createP2SHMultiSigInputScript(@Nullable List<TransactionSignature> signatures, Script multisigProgram)
public static Script createMultiSigInputScriptBytes(List<byte[]> signatures, @Nullable byte[] multisigProgramBytes)
public static Script updateScriptWithSignature(Script scriptSig, byte[] signature, int targetIndex, int sigsPrefixCount, int sigsSuffixCount)
targetIndex - where to insert the signaturesigsPrefixCount - how many items to copy verbatim (e.g. initial OP_0 for multisig)sigsSuffixCount - how many items to copy verbatim at end (e.g. redeemScript for P2SH)public static Script createP2SHOutputScript(byte[] hash)
public static Script createP2SHOutputScript(Script redeemScript)
public static Script createP2SHOutputScript(int threshold, List<ECKey> pubkeys)
public static Script createRedeemScript(int threshold, List<ECKey> pubkeys)
public static Script createOpReturnScript(byte[] data)
Copyright © 2015. All rights reserved.