khomerikik / laravel-bitgo-wallet
为 Laravel 集成的 Bitgo 区块链服务
v0.8.0
2024-10-01 07:28 UTC
Requires
- php: >=8.1
- ext-readline: *
- guzzlehttp/guzzle: >=7.4
- illuminate/contracts: >=9.0
- illuminate/support: >=9.11
- spatie/laravel-package-tools: >=1.9.2
Requires (Dev)
- jetbrains/phpstorm-attributes: >=1.0
- laravel/pint: ^1.1
- launchdarkly/launchdarkly-php: >=4.2
- nunomaduro/collision: >=6.0
- nunomaduro/larastan: >=2.0.1
- orchestra/testbench: >=7.4
- pestphp/pest: >=1.21
- pestphp/pest-plugin-laravel: >=1.1
- phpstan/extension-installer: >=1.1
- phpstan/phpstan-deprecation-rules: >=1.0
- phpstan/phpstan-phpunit: >=1.0
- phpunit/phpunit: >=9.5
- spatie/laravel-ray: >=1.26
README
您可以通过 composer 安装此包
composer require khomerikik/laravel-bitgo-wallet
您可以使用以下命令发布配置文件
php artisan vendor:publish --provider="Khomeriki\BitgoWallet\BitgoServiceProvider"
这是发布配置文件的内容
用法
使用 webhooks 生成钱包
use Khomeriki\BitgoWallet\Facades\Wallet; $wallet = Wallet::init(coin: 'tbtc') ->generate(label: 'wallet label', passphrase: 'password') ->addWebhook(numConfirmations: 0) ->addWebhook(numConfirmations: 1); return $wallet;
在钱包上添加具有自定义回调 URL 的 webhook
use Khomeriki\BitgoWallet\Facades\Wallet; $wallet = Wallet::init(coin: 'tbtc', id: 'wallet-id') ->addWebhook( numConfirmations: 3, callbackUrl: 'https://your-domain.com/api/callback' ); return $wallet;
在现有钱包上生成地址
use Khomeriki\BitgoWallet\Facades\Wallet; $wallet = Wallet::init(coin: 'tbtc', id: 'your-wallet-id') ->generateAddress(label: 'address label'); return $wallet->address;
检查钱包上的最大可支配金额
use Khomeriki\BitgoWallet\Facades\Wallet; $maxSpendable = Wallet::init(coin: 'tbtc', id: 'your-wallet-id') ->getMaximumSpendable(); return $maxSpendable;
获取钱包上的所有交易
use Khomeriki\BitgoWallet\Facades\Wallet; $transfers = Wallet::init(coin: 'tbtc', id: 'your-wallet-id') ->getTransfers(); return $transfers;
通过转账 ID 获取转账
use Khomeriki\BitgoWallet\Facades\Wallet; $transfer = Wallet::init(coin: 'tbtc', id: 'your-wallet-id') ->getTransfer(transferId: 'transferId'); return $transfer;
从钱包发送转账
use Khomeriki\BitgoWallet\Data\Requests\TransferData;use Khomeriki\BitgoWallet\Data\Requests\TransferRecipientData;use Khomeriki\BitgoWallet\Facades\Wallet; //you can add as many recipients as you need :) $recipient = TransferRecipientData::fromArray([ 'amount' => 4934, 'address' => 'address' ]); $recipientOne = TransferRecipientData::fromArray([ 'amount' => 4934, 'address' => 'address' ]); $transferData = TransferData::fromArray([ 'walletPassphrase' => 'test', 'recipients' => [$recipient, $recipientOne] ]); $result = Wallet::init('tbtc', 'wallet-id')->sendTransfer($transferData); return $result;
测试
composer test
致谢
许可证
MIT 许可证(MIT)。请参阅许可证文件以获取更多信息。