bitbuy-at / kraken-api-client
支持Laravel的Kraken.com REST API客户端
Requires
- php: ^8.0
- guzzlehttp/guzzle: ^7.0
- illuminate/support: ^8 || ^9 || ^10
- nesbot/carbon: ^2.16
Requires (Dev)
- phpunit/phpunit: ^9
This package is auto-updated.
Last update: 2024-09-10 18:35:22 UTC
README
从butschster/kraken-api-client v1.5分叉并兼容
安装
composer require bitbuy-at/kraken-api-client
使用
Laravel
Laravel
如果你使用Laravel,包将自动注册Kraken提供者和外观。
配置
你可以使用以下内容更新你的.env文件
KRAKEN_KEY=my_api_key
KRAKEN_SECRET=my_secret
KRAKEN_OTP=my_otp_key # if two-factor enabled, otherwise not required
用法
通过外观使用
use bitbuyAT\Kraken\Facade\Kraken; $balances = Kraken::getAccountBalance(); // Will return bitbuyAT\Kraken\Objects\BalanceCollection foreach($balances as $balance) { $currency = $balance->currency(); $amount = $balance->amount(); }
通过依赖注入使用
use bitbuyAT\Kraken\Contracts\Client; class BalanceConstroller extends Controller { public function getBalance(Client $client) { $client->getAccountBalance(); ... } }
检查最小交易量大小
见 https://support.kraken.com/hc/en-us/articles/205893708-What-is-the-minimum-order-size-
检查对的最小交易量
$orderVolume = new \bitbuyAT\Kraken\OrderVolume; $pair = $client->getAssetPairs('EOSETH')->first(); $isValidSize = $orderVolume->checkMinimalSizeForPair($pair, 1.1);
检查货币的最小交易量
$orderVolume = new \bitbuyAT\Kraken\OrderVolume; $isValidSize = $orderVolume->checkMinimalSizeForPair('EOS', 1.1);
获取最小交易量
$orderVolume = new \bitbuyAT\Kraken\OrderVolume; // Pair $pair = $client->getAssetPairs('EOSETH')->first(); $minimalsize = $orderVolume->getMinimalSizeForPair($pair); // Currency $minimalsize = $orderVolume->getMinimalSize('EOS');
API方法
发送请求
$client->request(string $method, array $parameters, bool $isPublic) : array; // Public request $trades = $client->request('Trades', ['pair' => 'BCHXBT']); // Private request $balance = $client->request('Balance', [], false);
如果请求返回错误,将抛出异常 bitbuyAT\Kraken\Exceptions\KrakenApiErrorException
获取可交易资产对
https://www.kraken.com/help/api#get-tradable-pairs
$pairs = $client->getAssetPairs(string|array $pair, string $info='all') : bitbuyAT\Kraken\Objects\PairCollection; foreach($pairs as $pair) { $pair->name(); }
获取行情信息
https://www.kraken.com/help/api#get-ticker-info
$pairs = $client->getTicker(string|array $pair) : bitbuyAT\Kraken\Objects\TickerCollection; foreach($pairs as $pair) { $pair->name(); $pair->askPrice(); $pair->askWholeLotVolume(); $pair->askLotVolume(); $pair->askLotVolume(); ... }
获取账户余额
https://www.kraken.com/help/api#get-account-balance
$balances = $client->getAccountBalance() : bitbuyAT\Kraken\Objects\BalanceCollection; foreach($balances as $balance) { $currency = $balance->currency(); $amount = $balance->amount(); }
获取未成交订单
https://www.kraken.com/help/api#get-open-orders
$orders = $client->getOpenOrders(bool $trades = false) : bitbuyAT\Kraken\Objects\OrdersCollection;
获取已成交订单
https://www.kraken.com/help/api#get-closed-orders
$orders = $client->getClosedOrders(bool $trades = false, Carbon\Carbon $start = null, Carbon\Carbon $end = null) : bitbuyAT\Kraken\Objects\OrdersCollection;
添加新订单
https://www.kraken.com/help/api#add-standard-order
use bitbuyAT\Kraken\Contracts\Order as OrderContract; $order = new bitbuyAT\Kraken\Order('BCHUSD', OrderContract::TYPE_BUY, OrderContract::ORDER_TYPE_MARKET, 20); $orderStatus = $client->addOrder($order) : bitbuyAT\Kraken\Objects\OrderStatus; $txid = $orderStatus->getTransactionId(); $desciption = $orderStatus->getDescription() = bitbuyAT\Kraken\Objects\OrderStatusDescription;
取消未成交订单
https://www.kraken.com/help/api#cancel-open-order
$client->cancelOrder(string $transactionId): array;
支持的方法
所有当前支持的方法及其参数说明可以在客户端接口中找到(src/Contracts/Client.php
)。
需要任何未在此列出的方法吗?只需提交一个包含所需方法的issue,或者更好的是提交一个PR以加快速度!
贡献
想要贡献?太好了!
首先创建一个新的issue,描述功能或错误。
只需分叉我们的代码,进行你的更改,然后通知我们,我们将进行审查。
- 分叉它。
- 创建一个功能分支(git checkout -b my_feature)
- 提交你的更改(git commit -m "Added My Feature")
- 推送到分支(git push origin my_feature)
- 打开 Pull Request
- 享受并等待 :)
我们不断更新和改进我们的代码。我们希望这能对整个社区都有所裨益。
许可证
MIT许可证
请查看 LICENSE.txt
访问我们
bitbuy GmbH / bitcoin.wien (https://www.bitcoin.wien/)