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.