oasin/laravel-bitgo-wallet

为laravel集成的Bitgo区块链服务

dev-main 2024-07-07 17:50 UTC

This package is auto-updated.

Last update: 2024-09-07 18:13:49 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)。有关更多信息,请参阅许可证文件