API Documentation
ArkEcosystem\Crypto\Configuration\Fee
get()
public static function get(int $type)
Get a fee for a given transaction type
Parameters
Type | Name | Required | Description |
---|---|---|---|
int | type | Yes | Transaction type for which we wish to get a fee |
Return Value
int
set()
public static function set(int $type, int $fee)
Set a fee
Parameters
Type | Name | Required | Description |
---|---|---|---|
int | type | Yes | Transaction type for which we wish to set a fee |
int | fee | Yes | Fee for a given transaction type |
Return Value
void
ArkEcosystem\Crypto\Configuration\Network
set()
public static function set(AbstractNetwork $netswork)
Set what network you want to use in the crypto library
Parameters
Type | Name | Required | Description |
---|---|---|---|
AbstractNetwork | network | Yes | Testnet, Devnet, Mainnet |
Return Value
void
get()
public static function get()
Get settings for a selected network, default network is devnet
Return Value
AbstractNetwork
ArkEcosystem\Crypto\Identities\Address
fromPublicKey()
public static function fromPublicKey(string $publicKey, $network = null)
Derive the address from the given public key.
Parameters
Type | Name | Required | Description |
---|---|---|---|
string | publicKey | Yes | Public key |
AbstractNetwork | network | No | Version of the network |
Return Value
string
fromPrivateKey()
public static function fromPrivateKey(EccPrivateKey $privateKey, AbstractNetwork $network = null)
Derive the address from the given private key.
Parameters
Type | Name | Required | Description |
---|---|---|---|
EccPrivateKey | private_key | Yes | Private key |
AbstractNetwork | network | No | Version of the network |
Return Value
string
fromPassphrase()
public static function fromPassphrase(string $passphrase, AbstractNetwork $network = null)
Derive the address from the given passphrase.
Parameters
Type | Name | Required | Description |
---|---|---|---|
string | passphrase | Yes | Private key |
AbstractNetwork | network | No | Version of the network |
Return Value
string
validate()
public static function validate(string $address, $network = null)
Validate the given address.
Parameters
Type | Name | Required | Description |
---|---|---|---|
string | address | Yes | Address to validate |
AbstractNetwork | network | No | Version of the network |
Return Value
bool
ArkEcosystem\Crypto\Identities\PrivateKey
fromPassphrase()
public static function fromPassphrase(string $passphrase)
Derive the private key for the given passphrase.
Parameters
Type | Name | Required | Description |
---|---|---|---|
string | passphrase | Yes | Passphrase |
Return Value
EcPrivateKey
fromHex()
public static function fromHex($privateKey)
Create a private key instance from a hex string.
Parameters
Type | Name | Required | Description |
---|---|---|---|
string | privateKey | Yes | Private key |
Return Value
EcPrivateKey
fromWif()
public static function fromWif(string $wif, AbstractNetwork $network = null)
Create a private key instance from a hex string.
Parameters
Type | Name | Required | Description |
---|---|---|---|
string | wif | Yes | Network WIF |
AbstractNetwork | network | No | Network |
Return Value
EcPrivateKey
ArkEcosystem\Crypto\Identities\PublicKey
fromPassphrase()
public static function fromPassphrase(string $passphrase)
Derive the public from the given passphrase.
Parameters
Type | Name | Required | Description |
---|---|---|---|
string | passphrase | Yes | Passphrase |
Return Value
EcPublicKey
fromHex()
public static function fromHex($publicKey)
Create a public key instance from a hex string.
Parameters
Type | Name | Required | Description |
---|---|---|---|
string | publicKey | Yes | Public key |
Return Value
EcPublicKey
ArkEcosystem\Crypto\Identities\WIF
fromPassphrase()
public static function fromPassphrase(string $passphrase, AbstractNetwork $network = null)
Derive the WIF from the given passphrase.
Parameters
Type | Name | Required | Description |
---|---|---|---|
str | passphrase | Yes | Passphrase |
AbstractNetwork | network | No | Network WIF |
Return Value
string
ArkEcosystem\Crypto\Networks\Devnet
epoch()
public function epoch()
Get the epoch time of the start of the Network.
Return Value
string
ArkEcosystem\Crypto\Networks\Mainnet
epoch()
public function epoch()
Get the epoch time of the start of the Network.
Return Value
string
ArkEcosystem\Crypto\Networks\Testnet
epoch()
public function epoch()
Get the epoch time of the start of the Network.
Return Value
string
ArkEcosystem\Crypto\Transactions\Builder\AbstractTransaction
__toString()
public function __toString()
Convert the message to its string representation.
Return Value
string
new()
public function new()
Create a new transaction instance.
Return Value
self
withFee()
public function withFee(int $fee)
Set the transaction fee.
Parameters
Type | Name | Required | Description |
---|---|---|---|
int | fee | Yes | Transaction fee |
Return Value
self
toJson()
public function toJson()
Convert the transaction to its JSON representation.
Return Value
string
toArray()
public function toArray()
Convert the transaction to its array representation.
Return Value
array
sign()
public function sign(string $passphrase)
Sign the transaction using the given passphrase.
Parameters
Type | Name | Required | Description |
---|---|---|---|
string | passphrase | Yes | Passphrase associated with the account sending this transaction |
Return Value
self
secondSign()
public function secondSign(string $secondPassphrase)
Sign the transaction using the given second passphrase
Parameters
Type | Name | Required | Description |
---|---|---|---|
string | passphrase | Yes | Second passphrase associated with the account sending this transaction |
Return Value
self
verify()
public function verify()
Verify the transaction validity.
Return Value
bool
secondVerify()
public function secondVerify(string $secondPublicKey)
Verify the transaction validity with a second signature
Parameters
Type | Name | Required | Description |
---|---|---|---|
string | secondPublicKey | Yes | Second public key |
Return Value
bool
ArkEcosystem\Crypto\Transactions\Builder\DelegateRegistration
sign()
public function sign(string $passphrase)
Sign the transaction using the given passphrase
Parameters
Type | Name | Required | Description |
---|---|---|---|
string | passphrase | Yes | Passphrase |
Return Value
AbstractTransaction
username()
public function username(string $username)
Set the username to assign.
Parameters
Type | Name | Required | Description |
---|---|---|---|
string | username | Yes | Username |
Return Value
self
ArkEcosystem\Crypto\Transactions\Builder\MultiPayment
add()
public function add(string $recipientId, int $amount)
Add a new payment to the collection.
Parameters
Type | Name | Required | Description |
---|---|---|---|
string | recipientId | Yes | Recipient identifier |
int | amount | Yes | Transaction amount |
Return Value
self
ArkEcosystem\Crypto\Transactions\Builder\MultiSignatureRegistration
min()
public function min(int $min)
Set the minimum required signatures.
Parameters
Type | Name | Required | Description |
---|---|---|---|
int | min | Yes | Minimum required signatures |
Return Value
self
lifetime()
public function lifetime(int $lifetime)
Set the transaction lifetime.
Parameters
Type | Name | Required | Description |
---|---|---|---|
int | lifetime | Yes | Transaction lifetime |
Return Value
self
keysGroup()
public function keysgroup(array $keysgroup)
Set the keysgroup of signatures.
Parameters
Type | Name | Required | Description |
---|---|---|---|
array | keysgroup | Yes | Signatures keysgroup |
Return Value
self
ArkEcosystem\Crypto\Transactions\Builder\SecondSignatureRegistration
signature()
public function signature(string $secondPassphrase)
Set the signature asset to register the second passphrase.
Parameters
Type | Name | Required | Description |
---|---|---|---|
str | secondPassphrase | Yes | Second passphrase |
Return Value
self
ArkEcosystem\Crypto\Transactions\Builder\TimelockTransfer
timelock
public function timelock(int $timelock)
Set the timelock of the transfer.
Parameters
Type | Name | Required | Description |
---|---|---|---|
int | timelock | Yes | Timelock |
Return Value
self
timestamp
public function timestamp()
Set the timelock type of the transfer to timestamp.
Return Value
self
height
public function height()
Set the timelock type of the transfer to block height.
Return Value
self
ArkEcosystem\Crypto\Transactions\Builder\Transfer
recipient()
public function recipient(string $recipientId)
Set the recipient of the transfer.
Parameters
Type | Name | Required | Description |
---|---|---|---|
string | recipientId | Yes | Recipient identifier |
Return Value
self
amount()
public function amount(int $amount)
Set the amount to transfer.
Parameters
Type | Name | Required | Description |
---|---|---|---|
int | amount | Yes | Transaction amount |
Return Value
self
vendorField()
public function vendorField(string $vendorField)
Set the vendor field / smartbridge.
Parameters
Type | Name | Required | Description |
---|---|---|---|
string | vendorField | Yes | Transaction vendorfield |
Return Value
self
ArkEcosystem\Crypto\Transactions\Builder\Vote
votes()
public function votes(array $votes)
Set the votes to cast.
Parameters
Type | Name | Required | Description |
---|---|---|---|
array | votes | Yes | Votes |
Return Value
self
sign()
public function sign(string $passphrase)
Sign the transaction using the given passphrase.
Parameters
Type | Name | Required | Description |
---|---|---|---|
str | passphrase | Yes | Passphrase |
Return Value
AbstractTransaction
ArkEcosystem\Crypto\Transactions\Deserializers\AbstractDeserializer
__construct()
public function __construct(Reader $buffer, int $assetOffset, Transaction $transaction)
Create a new deserializer instance
Parameters
Type | Name | Required | Description |
---|---|---|---|
Reader | serialized | Yes | Reader |
int | asset_offset | Yes | Offset |
Transaction | transaction | Yes | Transaction |
Return Value
AbstractDeserializer
deserialize()
abstract public function deserialize()
Handle the deserialization of transaction data
Return Value
object
ArkEcosystem\Crypto\Transactions\Deserializers\DelegateRegistration
deserialize()
public function deserialize()
Handle the deserialization of “delegate registration” data.
Return Value
object
ArkEcosystem\Crypto\Transactions\Deserializers\DelegateResignation
deserialize()
public function deserialize()
Handle the deserialization of “delegate resignation” data.
Return Value
object
ArkEcosystem\Crypto\Transactions\Deserializers\IPFS
deserialize()
public function deserialize()
Handle the deserialization of “ipfs” data
Return Value
object
ArkEcosystem\Crypto\Transactions\Deserializers\MultiPayment
deserialize()
public function deserialize()
Handle the deserialization of “multi payment” data
Return Value
object
ArkEcosystem\Crypto\Transactions\Deserializers\MultiSignatureRegistration
deserialize()
public function deserialize()
Handle the deserialization of “multi signature registration” data
Return Value
object
ArkEcosystem\Crypto\Transactions\Deserializers\SecondSignatureRegistration
deserialize()
public function deserialize()
Handle the deserialization of “second signature” data.
Return Value
object
ArkEcosystem\Crypto\Transactions\Deserializers\TimelockTransfer
deserialize()
public function deserialize()
Handle the deserialization of “timelock transfer” data.
Return Value
object
ArkEcosystem\Crypto\Transactions\Deserializers\Transfer
deserialize()
public function deserialize()
Handle the deserialization of “transfer” data.
Return Value
object
ArkEcosystem\Crypto\Transactions\Deserializers\Vote
deserialize()
public function deserialize()
Handle the deserialization of “vote” data.
Return Value
object
ArkEcosystem\Crypto\Transactions\Serializers\AbstractSerializer
__construct()
public function __construct(array $transaction, Writer $buffer)
Create a new serializer instance.
Parameters
Type | Name | Required | Description |
---|---|---|---|
array | transaction | Yes | Transaction |
writer | buffer | Yes | Writer |
Return Value
AbstractSerializer
serialize
abstract public function serialize()
Handle the serialization of transaction data.
Return Value
void
ArkEcosystem\Crypto\Transactions\Serializers\DelegateRegistration
serialize
public function serialize()
Handle the serialization of “delegate registration” data.
Return Value
void
ArkEcosystem\Crypto\Transactions\Serializers\DelegateResignation
serialize
public function serialize()
Handle the serialization of “delegate resignation” data.
Return Value
void
ArkEcosystem\Crypto\Transactions\Serializers\IPFS
serialize
public function serialize()
Handle the serialization of “IPFS” data.
Return Value
void
ArkEcosystem\Crypto\Transactions\Serializers\MultiPayment
serialize
public function serialize()
Handle the serialization of “multi payment” data.
Return Value
void
ArkEcosystem\Crypto\Transactions\Serializers\MultiSignatureRegistration
serialize
public function serialize()
Handle the serialization of “multi signature registration” data.
Return Value
void
ArkEcosystem\Crypto\Transactions\Serializers\SecondSignatureRegistration
serialize
public function serialize()
Handle the serialization of “second signature registration” data.
Return Value
void
ArkEcosystem\Crypto\Transactions\Serializers\TimelockTransfer
serialize
public function serialize()
Handle the serialization of “timelock transfer” data.
Return Value
void
ArkEcosystem\Crypto\Transactions\Serializers\Transfer
serialize
public function serialize()
Handle the serialization of “transfer” data.
Return Value
void
ArkEcosystem\Crypto\Transactions\Serializers\Vote
serialize
public function serialize()
Handle the serialization of “vote” data.
Return Value
void
ArkEcosystem\Crypto\Transactions\Deserializer
__construct()
public function __construct(string $serialized)
Create a new deserializer instance.
Parameters
Type | Name | Required | Description |
---|---|---|---|
string | serialized | Yes | Serialized transaction |
Return Value
Deserializer
new()
public static function new(string $serialized)
Create a new deserializer instance.
Parameters
Type | Name | Required | Description |
---|---|---|---|
string | serialized | Yes | Serialized transaction |
Return Value
Deserializer
deserialize
public function deserialize(self):
Perform AIP11 compliant deserialization.
Return Value
Transaction
handleType
public function handleType(int $assetOffset, Transaction $transaction)
Handle the deserialization of “type” data
Parameters
Type | Name | Required | Description |
---|---|---|---|
int | assetOffset | Yes | Offset |
Transaction | transaction | Yes | Transaction |
Return Value
Transaction
handleVersionOne
public function handleVersionOne(Transaction $transaction)
Handle the deserialization of transaction data with a version of 1.0.
Parameters
Type | Name | Required | Description |
---|---|---|---|
Transaction | transaction | Yes | Transaction |
Return Value
Transaction
handleVersionTwo
public function handleVersionTwo(Transaction $transaction)
Handle the deserialization of transaction data with a version of 2.0.
Parameters
Type | Name | Required | Description |
---|---|---|---|
Transaction | transaction | Yes | Transaction |
Return Value
Transaction
ArkEcosystem\Crypto\Transactions\Serializer
__construct()
private function __construct($transaction)
Create a new serializer instance.
Parameters
Type | Name | Required | Description |
---|---|---|---|
Transaction | transaction | Yes | Transaction |
Return Value
Serializer
new()
public static function new($transaction)
Create a new serializer instance.
Parameters
Type | Name | Required | Description | |
---|---|---|---|---|
Transaction | array | transaction | Yes | Transaction |
Return Value
self
serialize()
public function serialize()
Perform AIP11 compliant serialization.
Return Value
Buffer
handleType()
public function handleType(Writer $buffer)
Handle the serialization of “type” data
Parameters
Type | Name | Required | Description |
---|---|---|---|
Writer | buffer | Yes | Writer |
Return Value
void
handleSignatures()
public function handleSignatures(Writer $buffer)
Handle the serialization of “signatures” data
Parameters
Type | Name | Required | Description |
---|---|---|---|
Writer | buffer | Yes | Writer |
Return Value
void
ArkEcosystem\Crypto\Transactions\Transaction
getId()
public function getId()
Convert the byte representation to a unique identifier.
Return Value
string
sign()
public function sign(PrivateKey $keys)
Sign the transaction using the given passphrase.
Parameters
Type | Name | Required | Description |
---|---|---|---|
PrivateKey | keys | Yes | Passphrase |
Return Value
self
secondSign()
public function secondSign(PrivateKey $keys)
Sign the transaction using the given second passphrase.
Parameters
Type | Name | Required | Description |
---|---|---|---|
PrivateKey | keys | Yes | Passphrase |
Return Value
self
verify()
public function verify()
Verify the transaction.
Return Value
bool
secondVerify()
public function secondVerify(string $secondPublicKey)
Verify the transaction with a second public key.
Parameters
Type | Name | Required | Description |
---|---|---|---|
string | secondPublicKey | Yes | Second public key |
Return Value
bool
parseSignatures()
public function parseSignatures(string $serialized, int $startOffset)
Parse the signature, second signature and multi signatures.
Parameters
Type | Name | Required | Description |
---|---|---|---|
string | serialized | Yes | Transaction |
int | startOffset | Yes | Offset |
Return Value
self
toArray()
public function toArray()
Convert the transaction to its array representation.
Return Value
array
toJson()
public function toJson():
Convert the transaction to its JSON representation.
Return Value
string
toBytes()
public function toBytes(bool $skipSignature = true, bool $skipSecondSignature = true)
Convert the transaction to its byte representation.
Parameters
Type | Name | Required | Description |
---|---|---|---|
bool | skipSignature | No | Skip first signature |
bool | skipSecondSignature | No | Skip second signature |
Return Value
Buffer
serialize()
public function serialize()
Perform AIP11 compliant serialization
Return Value
Buffer
deserialize()
public static function deserialize(string $serialized)
Perform AIP11 compliant deserialization.
Parameters
Type | Name | Required | Description |
---|---|---|---|
string | serialized | Yes | Transaction |
Return Value
self
ArkEcosystem\Crypto\Utils\Message
__construct()
public function __construct(object $message)
Create a new message instance
Parameters
Type | Name | Required | Description |
---|---|---|---|
object | message | Yes | Message |
Return Value
Message
__toString()
public function __toString()
Convert the message to its JSON representation
Return Value
string
new()
public static function new($message)
Create a new message instance.
Parameters
Type | Name | Required | Description |
---|---|---|---|
mixed | message | Yes | Message |
Return Value
self
sign()
public static function sign(string $message, string $passphrase)
Sign a message using the given passphrase.
Parameters
Type | Name | Required | Description |
---|---|---|---|
string | message | Yes | Message |
string | passphrase | Yes | Passphrase |
Return Value
self
verify()
public function verify()
Verify the message contents
Return Value
bool
toArray()
public function toArray()
Convert the message to its array representation
Return Value
array
toJson()
public function toJson()
Convert the message to its JSON representation
Return Value
string
ArkEcosystem\Crypto\Util\Slot
time()
public static function time()
Get the time diff between now and network start.
Return Value
int
epoch()
public static function epoch()
Get the network start epoch.
Return Value
int
ArkEcosystem\Crypto\Helpers
version()
public static function version($network)
Get the network version.
Parameters
Type | Name | Required | Description | |
---|---|---|---|---|
AbstractNetwork | int | network | Yes | Network |
Return Value
int