021 / crypto-wallets
Package for working with crypto wallets
Requires
- php: ^8.1
- ext-bcmath: *
- 021/ethereum-oracles: ^1.0
- 021/support: ^2.0.1
- denpa/php-bitcoinrpc: ^v3.0.0
- guzzlehttp/guzzle: ^7.4
- illuminate/support: ^8.80|^9.0
- jaggedsoft/php-binance-api: ^0.5.28
- web3p/web3.php: 0.1.6
Requires (Dev)
- phpunit/phpunit: ^9.5
- symfony/var-dumper: ^5.4
- vlucas/phpdotenv: ^5.4
- dev-master
- v9.1.0
- v9.0.1
- v9.0.0
- v8.2.3
- v8.2.2
- v8.2.1
- v8.2.0
- v8.1.0
- v8.0.4
- v8.0.3
- v8.0.2
- v8.0.1
- v8.0.0
- v7.0.0
- v6.1.1
- v6.1.0
- v6.0.0
- v5.x-dev
- v5.5.2
- v5.5.1
- v5.5.0
- v5.4.0
- v5.3.0
- v5.2.0
- v5.1.2
- v5.1.1
- v5.1.0
- v5.0.0
- v4.x-dev
- v4.0.0
- v3.2.1
- v3.2.0
- v3.1.0
- v3.0.3
- v3.0.2
- v3.0.1
- v3.0.0
- v2.x-dev
- v2.1.1
- v2.1.0
- v2.0.0
- v1.x-dev
- v1.2.2
- v1.2.1
- v1.2.0
- v1.1.2
- v1.1.1
- v1.1.0
- v1.0.0
This package is auto-updated.
Last update: 2024-10-30 01:31:59 UTC
README
Run composer require 021/crypto-wallets
Add repositories to composer.json
"repositories": [
{
"type": "vcs",
"url": "git@github.com:021-projects/php-bitcoinrpc.git"
}
]
Requirements
- PHP 8.1+
Wallet interface
\O21\CryptoWallets\Interfaces\WalletInterface
__construct(\O21\CryptoWallets\Interfaces\ConnectConfigInterface $config)
isAvailable(): bool
- check is RPC client available
getBalance(): string
- get wallet balance
getNewAddress($config = null): string
- get new address
isValidAddress(string $address): bool
- check is an address is valid
isOwningAddress(string $address): bool
- checks if an address belongs to a wallet
getExploreAddressLink(string $address): string
- returns a link to blockchain explorer for the address
getRate(
string $currency = 'USD',
?\O21\CryptoWallets\Interfaces\RateProviderInterface $provider = null
): float
// Returns the cryptocurrency exchange rate for the selected currency
getBestRate(
string $currency = 'USD',
int $limit = 60,
\O21\CryptoWallets\Units\RateInterval $interval = RateInterval::Minutes,
?\O21\CryptoWallets\Interfaces\RateProviderInterface $provider = null
): float
// Returns the best cryptocurrency rate for the selected currency for a given period of time
estimateSendingFee(
string $to,
string $value,
\O21\CryptoWallets\Interfaces\FeeInterface|string $fee
): string
// Estimates the fee amount required to send a transaction
send(
string $to,
string $value,
\O21\CryptoWallets\Interfaces\FeeInterface|string $fee
): string
// Send funds from a wallet
getTransaction(string $hash): ?\O21\CryptoWallets\Interfaces\TransactionInterface
- returns transaction from a wallet
getTransactions(int $count = 50, int $skip = 0): \Illuminate\Support\Collection;
- returns transactions from a wallet
getTransactionsSinceBlock(string $block = ''): \Illuminate\Support\Collection;
- returns transactions from a wallet
getTransactionsCount(): int
- returns transactions count on a wallet
getExploreTransactionLink(string $hash): string
- returns a link to blockchain explorer for the address
/**
* @return \Illuminate\Support\Collection<\O21\CryptoWallets\Interfaces\FeeInterface>
*/
public function getNetworkFees(): Collection;
// Returns the recommended fees for the transaction
getDefaultBestRateLimit(): int
- returns the default value for the period in the getBestRate
function
getTypicalTransactionSize(): int
- returns typical transaction size for a wallet
getSymbol(): string
- returns symbol of a wallet
Also, some wallets have their own unique methods. Explore the interfaces \O21\CryptoWallets\Interfaces\BitcoindWalletInterface
and \O21\CryptoWallets\Interfaces\EthereumWalletInterface
Currently available wallets
\O21\CryptoWallets\BitcoinWallet
for bitcoin
\O21\CryptoWallets\LitecoinWallet
for litecoin
\O21\CryptoWallets\EthereumWallet
for ethereum