bitbuy-at/kraken-api-client

支持Laravel的Kraken.com REST API客户端

v1.6 2023-11-10 16:05 UTC

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,描述功能或错误。

只需分叉我们的代码,进行你的更改,然后通知我们,我们将进行审查。

  1. 分叉它。
  2. 创建一个功能分支(git checkout -b my_feature)
  3. 提交你的更改(git commit -m "Added My Feature")
  4. 推送到分支(git push origin my_feature)
  5. 打开 Pull Request
  6. 享受并等待 :)

我们不断更新和改进我们的代码。我们希望这能对整个社区都有所裨益。

许可证

MIT许可证

请查看 LICENSE.txt

访问我们

bitbuy GmbH / bitcoin.wien (https://www.bitcoin.wien/)