There are a number of factory classes to help create & parse objects.
An example of a globally set dependency is the Network; if not explicitly provided in a function call, the globally set default will be used.
Bitcoin::getMath() - Returns a Math instance
Bitcoin::getGenerator() - Returns a GeneratorPoint instance
Bitcoin::getEcAdapter() - Returns an EcAdapterInterface instance
Bitcoin::getNetwork() - Returns the default, or explicitly set NetworkInterface
Bitcoin::setNetwork(NetworkInterface $network) - Sets $network as the default network
AddressFactory::fromKey(PublicKeyInterface $publicKey): Returns an PayToPubKeyHashAddress instance for the provided PublicKeyInterface
AddressFactory::fromScript(ScriptInterface $p2shScript): Returns an ScriptHashAddress instance for the provided ScriptInterface
AddressFactory::fromOutputScript(ScriptInterface $scriptPubKey): Attempts to return an Address instance based on the type of scriptPubKey
AddressFactory::getAssociatedAddress(ScriptInterface $scriptPubKey, [$network]): Returns a base58 string for a P2PK, or P2PKH script, or P2SH script.
AddressFactory::fromString($string, [$network]): Tries to return an AddressInterface based off the string, and network.
BlockFactory::fromHex($data) - Attempts to parse a block from a hex string or Buffer.
BlockHeaderFactory::fromHex() - Parse a header from a hex string or Buffer
PrivateKeyFactory::fromHex($data) - Parses PrivateKeyInterface from hex string or Buffer
PrivateKeyFactory::fromInt($int) - Creates a PrivateKeyInterface using the provided decimal integer.
PrivateKeyFactory::fromWif($wif) - Parses a base58 encoded private key.
PrivateKeyFactory::create([$compressed = false] - Generates a PrivateKeyInterface.
PrivateKeyFactory::generateSecret() - Generates a Buffer representing a valid private key.
PublicKeyFactory::fromHex($data) - Parses PublicKeyInterface from hex string or Buffer
HierarchicalKeyFactory::fromExtended($extendedKey) - Parses a HierarchicalKey from a base58 encoded string
HierarchicalKeyFactory::generateMasterKey() - Creates a new master HierarchicalKey
HierarchicalKeyFactory::fromEntropy(Buffer $entropy) - Creates a master HierarchicalKey from provided entropy
ScriptFactory::fromHex($data) - Parses ScriptInterface from hex string or Buffer
ScriptFactory::create([$startScript]) - Returns a ScriptCreator instance, used to generate scripts.
ScriptFactory::sequence($sequenceArray) - Generates a script given an array consisting of opcodes and Buffers.
ScriptFactory::scriptPubKey() - Returns an OutputScriptFactory instance, used to safely generate output scripts.
ScriptFactory::p2sh() - Returns an P2shScriptFactory - an OutputScriptFactory augmented to return P2shScript instances.
ScriptFactory::consensus([$flags]) - Returns a ConsensusInterface used to validate bitcoin scripts.
This class is used for raw script generation. It's methods mutate the script, which is obtained by
calling getScript() when complete.
ScriptCreator::sequence() - Adds a list of opcodes and Buffer pushes into the script.
ScriptCreator::op($opName) - Adds opcode $opName to the script
ScriptCreator::int() - Adds an integer value-push into the script
ScriptCreator::push(Buffer $buffer) - Adds a value-push of $buffer into the script
ScriptCreator::concat(ScriptInterface $script) - Concatenates another ScriptInterface to $this
ScriptCreator::pushSerializable(SerializableInterface $serializable) - Adds a value-push of a serializable object into the script
ScriptCreator::pushSerializableArray($serializableArr) - Adds a vector of serialiable objects
ScriptCreator::getScript() - Returns a ScriptInterface of the composed script
This class contains methods to safely generate commonly used output scripts.
OutputScriptFactory::payToAddress(AddressInterface $address) - Returns output script for the provided address
OutputScriptFactory::payToPubKey(PublicKeyInterface $publicKey) - Returns pay-to-pubkey output script for $publicKey.
OutputScriptFactory::payToPubKeyHash(PublicKeyInterface $publicKey) - Returns pay-to-pubkey-hash script for $publicKey
OutputScriptFactory::payToScriptHash(ScriptInterface $p2shScript) - Returns a pay-to-script-hash script for $p2shScript
Returns a P2shScript instance, for the payToPubKey, payToPubKeyHash, and multisig cases.
SignatureFactory::fromHex($data) - Parses a SignatureInterface from a DER signature
TransactionSignatureFactory::fromHex() - Parses a TransactionSignatureInterface given a hex string or Buffer. This is the form with the SigHash byte appended.
TransactionFactory::build() - Returns a TxBuilder instance
TransactionFactory::mutate(TransactionInterface $tx) - Returns a TxMutator instance, used to mutate transactions.
TransactionFactory::sign(TransactionInterface $tx) - Returns a Signer instance, used to sign transactions.