khomerikik/laravel-bitgo-wallet

为 Laravel 集成的 Bitgo 区块链服务

v0.8.0 2024-10-01 07:28 UTC

This package is auto-updated.

Last update: 2024-10-01 07:29:27 UTC


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)。请参阅许可证文件以获取更多信息。