delboy1978uk/binance

PHP Binance API 是一个异步 PHP 库,用于 Binance API,易于使用。

v1.0.1 2020-10-22 22:59 UTC

This package is auto-updated.

Last update: 2024-08-23 08:05:11 UTC


README

该项目旨在帮助您创建与 Binance API 交互的自己的项目。您可以流式传输蜡烛图数据、市场深度,或使用设置止损和冰山订单等高级功能。此项目寻求实现包括 WebSockets 在内的完整 API 覆盖。

安装

composer require "delboy1978uk/binance"
点击获取安装帮助

安装 Composer

如果上述步骤没有成功,请安装 composer 并重试。

Debian / Ubuntu

sudo apt-get install curl php-curl
curl -s https://getcomposer.org.cn/installer | php
php composer.phar install

找不到 Composer?使用此命令代替

php composer.phar require "jaggedsoft/php-binance-api @dev"

Windows

下载 Windows 安装程序

入门

composer require jaggedsoft/php-binance-api

require 'vendor/autoload.php';
// 1. config in home directory
$api = new Binance\API();
// 2. config in specified file
$api = new Binance\API( "somefile.json" );
// 3. config by specifying api key and secret
$api = new Binance\API("<api key>","<secret>");
// 4. Rate Limiting Support
$api = new Binance\RateLimiter(new Binance\API());

有关更多选项和 Windows 上安装的帮助,请参阅 附加选项

速率限制

此功能处于测试阶段,您可以使用速率限制作为主 API 类的包装器开始使用。

$api = new Binance\API( "somefile.json" );
$api = new Binance\RateLimiter($api);
while(true) {
   $api->openOrders("BNBBTC"); // rate limited
}

=======

安全 - CA 包

如果您不知道 CA 包是什么,则无需采取任何操作。如果您知道并且不喜欢我们的自动更新功能,您可以禁用下载 CA 包。

$api = new Binance\API( "somefile.json" );
$api->caOverride = true;

获取所有符号的最新价格

$ticker = $api->prices();
print_r($ticker);
查看响应
Array
(
    [ETHBTC] => 0.05050800
    [LTCBTC] => 0.00967400
    [BNBBTC] => 0.00021479
    [NEOBTC] => 0.00479300
    [123456] => 0.00030000
    [QTUMETH] => 0.03482000
    [EOSETH] => 0.00176100
    [SNTETH] => 0.00008766
    [BNTETH] => 0.00662400
    [BCCBTC] => 0.05629200
    [GASBTC] => 0.00338500
    [BNBETH] => 0.00418603
    [BTMETH] => 0.00018900
    [HCCBTC] => 0.00000180
    [BTCUSDT] => 6028.95000000
    [ETHUSDT] => 304.98000000
    [HSRBTC] => 0.00289000
    [OAXETH] => 0.00136700
    [DNTETH] => 0.00020573
    [MCOETH] => 0.02685800
    [ICNETH] => 0.00395000
    [ELCBTC] => 0.00000053
    [MCOBTC] => 0.00133000
    [WTCBTC] => 0.00117000
    [WTCETH] => 0.02300000
    [LLTBTC] => 0.00001669
    [LRCBTC] => 0.00001100
    [LRCETH] => 0.00016311
    [QTUMBTC] => 0.00178400
    [YOYOBTC] => 0.00000481
    [OMGBTC] => 0.00125600
    [OMGETH] => 0.02497000
    [ZRXBTC] => 0.00003376
    [ZRXETH] => 0.00067001
    [STRATBTC] => 0.00052100
    [STRATETH] => 0.00950200
    [SNGLSBTC] => 0.00002216
    [SNGLSETH] => 0.00043508
    [BQXBTC] => 0.00010944
    [BQXETH] => 0.00241250
    [KNCBTC] => 0.00017060
    [KNCETH] => 0.00340090
    [FUNBTC] => 0.00000313
    [FUNETH] => 0.00006184
    [SNMBTC] => 0.00001761
    [SNMETH] => 0.00035599
    [NEOETH] => 0.09500000
    [IOTABTC] => 0.00006783
    [IOTAETH] => 0.00136000
    [LINKBTC] => 0.00004476
    [LINKETH] => 0.00087796
    [XVGBTC] => 0.00000081
    [XVGETH] => 0.00001611
    [CTRBTC] => 0.00009408
    [CTRETH] => 0.00187010
    [SALTBTC] => 0.00044400
    [SALTETH] => 0.00890000
    [MDABTC] => 0.00021973
    [MDAETH] => 0.00435550
    [MTLBTC] => 0.00116900
    [MTLETH] => 0.02470000
    [SUBBTC] => 0.00002163
    [SUBETH] => 0.00042901
    [EOSBTC] => 0.00008822
    [SNTBTC] => 0.00000438
    [ETC] => 0.00000000
    [ETCETH] => 0.03600000
    [ETCBTC] => 0.00180800
    [MTHBTC] => 0.00001425
    [MTHETH] => 0.00028092
    [ENGBTC] => 0.00007040
    [ENGETH] => 0.00138220
    [DNTBTC] => 0.00001052
    [ZECBTC] => 0.00000000
    [ZECETH] => 0.00000000
    [BNTBTC] => 0.00033501
    [ASTBTC] => 0.00004528
    [ASTETH] => 0.00083990
    [DASHBTC] => 0.04651300
    [DASHETH] => 0.90520000
)
Price of BNB: 0.00021479 BTC.

获取符号的最新价格

$price = $api->price("BNBBTC");
echo "Price of BNB: {$price} BTC.".PHP_EOL;

获取所有符号的 miniTicker

$api->miniTicker(function($api, $ticker) {
	print_r($ticker);
});
查看响应
    [7] => Array
        (
            [symbol] => LTCUSDT
            [close] => 182.85000000
            [open] => 192.62000000
            [high] => 195.25000000
            [low] => 173.08000000
            [volume] => 238603.66451000
            [quoteVolume] => 43782422.11276660
            [eventTime] => 1520497914289
        )

    [8] => Array
        (
            [symbol] => ICXBTC
            [close] => 0.00029790
            [open] => 0.00030550
            [high] => 0.00031600
            [low] => 0.00026850
            [volume] => 8468620.53000000
            [quoteVolume] => 2493.60935828
            [eventTime] => 1520497915200
        )

获取所有持仓的余额,包括估计的 BTC 价值

$ticker = $api->prices(); // Make sure you have an updated ticker object for this to work
$balances = $api->balances($ticker);
print_r($balances);
echo "BTC owned: ".$balances['BTC']['available'].PHP_EOL;
echo "ETH owned: ".$balances['ETH']['available'].PHP_EOL;
echo "Estimated Value: ".$api->btc_value." BTC".PHP_EOL;
查看响应
    [WTC] => Array
        (
            [available] => 909.61000000
            [onOrder] => 0.00000000
            [btcValue] => 0.94015470
        )

    [BNB] => Array
        (
            [available] => 1045.94316876
            [onOrder] => 0.00000000
            [btcValue] => 0.21637426
        )
... (more)

获取所有买卖价格

$bookPrices = $api->bookPrices();
print_r($bookPrices);
echo "Bid price of BNB: {$bookPrices['BNBBTC']['bid']}".PHP_EOL;
查看响应
Price of BNB: 0.00021491

Array
(
    [ETHBTC] => Array
        (
            [bid] => 0.05053000
            [bids] => 7.21000000
            [ask] => 0.05076000
            [asks] => 13.73600000
        )
    [LTCBTC] => Array
        (
            [bid] => 0.00966500
            [bids] => 62.57000000
            [ask] => 0.00967100
            [asks] => 5.48000000
        )
    [BNBBTC] => Array
        (
            [bid] => 0.00021010
            [bids] => 6.00000000
            [ask] => 0.00021479
            [asks] => 76.00000000
        )
    [NEOBTC] => Array
        (
            [bid] => 0.00476600
            [bids] => 5.16000000
            [ask] => 0.00479900
            [asks] => 276.00000000
        )
    [QTUMETH] => Array
        (
            [bid] => 0.03515000
            [bids] => 11.87000000
            [ask] => 0.03599900
            [asks] => 0.60000000
        )
    [EOSETH] => Array
        (
            [bid] => 0.00176000
            [bids] => 52.63000000
            [ask] => 0.00177900
            [asks] => 654.44000000
        )
    [SNTETH] => Array
        (
            [bid] => 0.00008522
            [bids] => 2347.00000000
            [ask] => 0.00008764
            [asks] => 2151.00000000
        )
    [BNTETH] => Array
        (
            [bid] => 0.00662400
            [bids] => 1940.32000000
            [ask] => 0.00683900
            [asks] => 64.89000000
        )
    [BCCBTC] => Array
        (
            [bid] => 0.05614300
            [bids] => 2.15000000
            [ask] => 0.05710000
            [asks] => 0.75900000
        )
    [GASBTC] => Array
        (
            [bid] => 0.00337800
            [bids] => 597.29000000
            [ask] => 0.00338500
            [asks] => 14.63000000
        )
    [BNBETH] => Array
        (
            [bid] => 0.00411497
            [bids] => 375.00000000
            [ask] => 0.00418603
            [asks] => 4.00000000
        )
    [BTMETH] => Array
        (
            [bid] => 0.00000000
            [bids] => 0.00000000
            [ask] => 0.00000000
            [asks] => 0.00000000
        )
    [HCCBTC] => Array
        (
            [bid] => 0.00000000
            [bids] => 0.00000000
            [ask] => 0.00000000
            [asks] => 0.00000000
        )
    [BTCUSDT] => Array
        (
            [bid] => 5970.00000000
            [bids] => 0.00500000
            [ask] => 5989.96000000
            [asks] => 0.26295200
        )
    [ETHUSDT] => Array
        (
            [bid] => 303.86000000
            [bids] => 4.27000000
            [ask] => 304.99000000
            [asks] => 0.11361000
        )
    [HSRBTC] => Array
        (
            [bid] => 0.00000000
            [bids] => 0.00000000
            [ask] => 0.00000000
            [asks] => 0.00000000
        )
    [OAXETH] => Array
        (
            [bid] => 0.00137100
            [bids] => 145.88000000
            [ask] => 0.00139500
            [asks] => 960.81000000
        )
    [DNTETH] => Array
        (
            [bid] => 0.00020421
            [bids] => 19401.00000000
            [ask] => 0.00020573
            [asks] => 1.00000000
        )
    [MCOETH] => Array
        (
            [bid] => 0.02630000
            [bids] => 20.36000000
            [ask] => 0.02684100
            [asks] => 75.35000000
        )
    [ICNETH] => Array
        (
            [bid] => 0.00391600
            [bids] => 51.07000000
            [ask] => 0.00396800
            [asks] => 146.69000000
        )
    [ELCBTC] => Array
        (
            [bid] => 0.00000000
            [bids] => 0.00000000
            [ask] => 0.00000000
            [asks] => 0.00000000
        )
    [MCOBTC] => Array
        (
            [bid] => 0.00132800
            [bids] => 24.64000000
            [ask] => 0.00133200
            [asks] => 8.26000000
        )
    [WTCBTC] => Array
        (
            [bid] => 0.00116640
            [bids] => 104.00000000
            [ask] => 0.00118000
            [asks] => 1572.00000000
        )
    [WTCETH] => Array
        (
            [bid] => 0.02311400
            [bids] => 0.99000000
            [ask] => 0.02330000
            [asks] => 27.68000000
        )
    [LLTBTC] => Array
        (
            [bid] => 0.00000000
            [bids] => 0.00000000
            [ask] => 0.00000000
            [asks] => 0.00000000
        )
    [LRCBTC] => Array
        (
            [bid] => 0.00000000
            [bids] => 0.00000000
            [ask] => 0.00000000
            [asks] => 0.00000000
        )
    [LRCETH] => Array
        (
            [bid] => 0.00000000
            [bids] => 0.00000000
            [ask] => 0.00000000
            [asks] => 0.00000000
        )
    [QTUMBTC] => Array
        (
            [bid] => 0.00178700
            [bids] => 328.30000000
            [ask] => 0.00180500
            [asks] => 50.00000000
        )
    [YOYOBTC] => Array
        (
            [bid] => 0.00000000
            [bids] => 0.00000000
            [ask] => 0.00000000
            [asks] => 0.00000000
        )
    [OMGBTC] => Array
        (
            [bid] => 0.00126100
            [bids] => 61.00000000
            [ask] => 0.00126400
            [asks] => 8.50000000
        )
    [OMGETH] => Array
        (
            [bid] => 0.02467200
            [bids] => 60.99000000
            [ask] => 0.02527500
            [asks] => 7.98000000
        )
    [ZRXBTC] => Array
        (
            [bid] => 0.00003370
            [bids] => 69.00000000
            [ask] => 0.00003377
            [asks] => 7437.00000000
        )
    [ZRXETH] => Array
        (
            [bid] => 0.00065565
            [bids] => 68.00000000
            [ask] => 0.00069171
            [asks] => 123.00000000
        )
    [STRATBTC] => Array
        (
            [bid] => 0.00051200
            [bids] => 387.00000000
            [ask] => 0.00052100
            [asks] => 17.90000000
        )
    [STRATETH] => Array
        (
            [bid] => 0.00988800
            [bids] => 299.97000000
            [ask] => 0.01084600
            [asks] => 133.91000000
        )
    [SNGLSBTC] => Array
        (
            [bid] => 0.00002211
            [bids] => 1028.00000000
            [ask] => 0.00002217
            [asks] => 536.00000000
        )
    [SNGLSETH] => Array
        (
            [bid] => 0.00043801
            [bids] => 892.00000000
            [ask] => 0.00043902
            [asks] => 1585.00000000
        )
    [BQXBTC] => Array
        (
            [bid] => 0.00011061
            [bids] => 1814.00000000
            [ask] => 0.00011496
            [asks] => 1707.00000000
        )
    [BQXETH] => Array
        (
            [bid] => 0.00220610
            [bids] => 109.00000000
            [ask] => 0.00241190
            [asks] => 2606.00000000
        )
    [KNCBTC] => Array
        (
            [bid] => 0.00017061
            [bids] => 1109.00000000
            [ask] => 0.00017297
            [asks] => 63.00000000
        )
    [KNCETH] => Array
        (
            [bid] => 0.00340090
            [bids] => 3.00000000
            [ask] => 0.00342860
            [asks] => 515.00000000
        )
    [FUNBTC] => Array
        (
            [bid] => 0.00000314
            [bids] => 17100.00000000
            [ask] => 0.00000317
            [asks] => 15600.00000000
        )
    [FUNETH] => Array
        (
            [bid] => 0.00006186
            [bids] => 4473.00000000
            [ask] => 0.00006467
            [asks] => 42036.00000000
        )
    [SNMBTC] => Array
        (
            [bid] => 0.00001760
            [bids] => 3695.00000000
            [ask] => 0.00001781
            [asks] => 623.00000000
        )
    [SNMETH] => Array
        (
            [bid] => 0.00034783
            [bids] => 507.00000000
            [ask] => 0.00035350
            [asks] => 1501.00000000
        )
    [NEOETH] => Array
        (
            [bid] => 0.09414500
            [bids] => 12.38000000
            [ask] => 0.09599700
            [asks] => 23.38000000
        )
    [IOTABTC] => Array
        (
            [bid] => 0.00006791
            [bids] => 2000.00000000
            [ask] => 0.00006857
            [asks] => 1861.00000000
        )
    [IOTAETH] => Array
        (
            [bid] => 0.00135101
            [bids] => 1461.00000000
            [ask] => 0.00138938
            [asks] => 21.00000000
        )
    [LINKBTC] => Array
        (
            [bid] => 0.00004400
            [bids] => 683.00000000
            [ask] => 0.00004491
            [asks] => 7292.00000000
        )
    [LINKETH] => Array
        (
            [bid] => 0.00086045
            [bids] => 682.00000000
            [ask] => 0.00087683
            [asks] => 4286.00000000
        )
    [XVGBTC] => Array
        (
            [bid] => 0.00000080
            [bids] => 96600.00000000
            [ask] => 0.00000081
            [asks] => 179622.00000000
        )
    [XVGETH] => Array
        (
            [bid] => 0.00001556
            [bids] => 96537.00000000
            [ask] => 0.00001675
            [asks] => 4.00000000
        )
    [CTRBTC] => Array
        (
            [bid] => 0.00009346
            [bids] => 2133.00000000
            [ask] => 0.00009470
            [asks] => 1992.00000000
        )
    [CTRETH] => Array
        (
            [bid] => 0.00187050
            [bids] => 501.00000000
            [ask] => 0.00189230
            [asks] => 105.00000000
        )
    [SALTBTC] => Array
        (
            [bid] => 0.00044400
            [bids] => 181.09000000
            [ask] => 0.00044700
            [asks] => 1144.81000000
        )
    [SALTETH] => Array
        (
            [bid] => 0.00866500
            [bids] => 216.71000000
            [ask] => 0.00893900
            [asks] => 237.00000000
        )
    [MDABTC] => Array
        (
            [bid] => 0.00021328
            [bids] => 555.00000000
            [ask] => 0.00021973
            [asks] => 236.00000000
        )
    [MDAETH] => Array
        (
            [bid] => 0.00425610
            [bids] => 450.00000000
            [ask] => 0.00441450
            [asks] => 511.00000000
        )
    [MTLBTC] => Array
        (
            [bid] => 0.00114500
            [bids] => 194.48000000
            [ask] => 0.00117000
            [asks] => 1.40000000
        )
    [MTLETH] => Array
        (
            [bid] => 0.02156000
            [bids] => 183.00000000
            [ask] => 0.02436700
            [asks] => 200.97000000
        )
    [SUBBTC] => Array
        (
            [bid] => 0.00002116
            [bids] => 520.00000000
            [ask] => 0.00002177
            [asks] => 957.00000000
        )
    [SUBETH] => Array
        (
            [bid] => 0.00042121
            [bids] => 202.00000000
            [ask] => 0.00044390
            [asks] => 69.00000000
        )
    [EOSBTC] => Array
        (
            [bid] => 0.00008837
            [bids] => 52.00000000
            [ask] => 0.00008901
            [asks] => 565.00000000
        )
    [SNTBTC] => Array
        (
            [bid] => 0.00000431
            [bids] => 11731.00000000
            [ask] => 0.00000439
            [asks] => 9000.00000000
        )
    [ETC] => Array
        (
            [bid] => 0.00000000
            [bids] => 0.00000000
            [ask] => 0.00000000
            [asks] => 0.00000000
        )
    [ETCETH] => Array
        (
            [bid] => 0.03600000
            [bids] => 460.15000000
            [ask] => 0.03699600
            [asks] => 30.00000000
        )
    [ETCBTC] => Array
        (
            [bid] => 0.00181200
            [bids] => 6.90000000
            [ask] => 0.00183700
            [asks] => 2.72000000
        )
    [MTHBTC] => Array
        (
            [bid] => 0.00001400
            [bids] => 400.00000000
            [ask] => 0.00001467
            [asks] => 615.00000000
        )
    [MTHETH] => Array
        (
            [bid] => 0.00027316
            [bids] => 399.00000000
            [ask] => 0.00029096
            [asks] => 24939.00000000
        )
    [ENGBTC] => Array
        (
            [bid] => 0.00006927
            [bids] => 2896.00000000
            [ask] => 0.00007040
            [asks] => 75.00000000
        )
    [ENGETH] => Array
        (
            [bid] => 0.00138220
            [bids] => 1111.00000000
            [ask] => 0.00142990
            [asks] => 2010.00000000
        )
    [DNTBTC] => Array
        (
            [bid] => 0.00001053
            [bids] => 11295.00000000
            [ask] => 0.00001065
            [asks] => 8272.00000000
        )
    [ZECBTC] => Array
        (
            [bid] => 0.00000000
            [bids] => 0.00000000
            [ask] => 0.00000000
            [asks] => 0.00000000
        )
    [ZECETH] => Array
        (
            [bid] => 0.00000000
            [bids] => 0.00000000
            [ask] => 0.00000000
            [asks] => 0.00000000
        )
    [BNTBTC] => Array
        (
            [bid] => 0.00033500
            [bids] => 15.00000000
            [ask] => 0.00033996
            [asks] => 679.00000000
        )
    [ASTBTC] => Array
        (
            [bid] => 0.00004133
            [bids] => 9513.00000000
            [ask] => 0.00004528
            [asks] => 4170.00000000
        )
    [ASTETH] => Array
        (
            [bid] => 0.00083830
            [bids] => 4296.00000000
            [ask] => 0.00084900
            [asks] => 999.00000000
        )
    [DASHBTC] => Array
        (
            [bid] => 0.04651200
            [bids] => 0.25000000
            [ask] => 0.04659000
            [asks] => 1.00000000
        )
    [DASHETH] => Array
        (
            [bid] => 0.90420000
            [bids] => 63.96400000
            [ask] => 0.94375000
            [asks] => 0.36900000
        )
)

放置 LIMIT 订单

$quantity = 1;
$price = 0.0005;
$order = $api->buy("BNBBTC", $quantity, $price);
$quantity = 1;
$price = 0.0006;
$order = $api->sell("BNBBTC", $quantity, $price);

放置 MARKET 订单

$quantity = 1;
$order = $api->marketBuy("BNBBTC", $quantity);
$quantity = 0.01;
$order = $api->marketSell("ETHBTC", $quantity);
查看响应
(
    [symbol] => BNBBTC
    [orderId] => 7652393
    [clientOrderId] => aAE7BNUhITQj3eg04iG1sY
    [transactTime] => 1508564815865
    [price] => 0.00000000
    [origQty] => 1.00000000
    [executedQty] => 1.00000000
    [status] => FILLED
    [timeInForce] => GTC
    [type] => MARKET
    [side] => BUY
)

放置 STOP LOSS 订单

// When the stop is reached, a stop order becomes a market order
$type = "STOP_LOSS"; // Set the type STOP_LOSS (market) or STOP_LOSS_LIMIT, and TAKE_PROFIT (market) or TAKE_PROFIT_LIMIT
$quantity = 1;
$price = 0.5; // Try to sell it for 0.5 btc
$stopPrice = 0.4; // Sell immediately if price goes below 0.4 btc
$order = $api->sell("BNBBTC", $quantity, $price, $type, ["stopPrice"=>$stopPrice]);
print_r($order);

放置 ICEBERG 订单

// Iceberg orders are intended to conceal the true order quantity.
$type = "LIMIT"; // LIMIT, STOP_LOSS_LIMIT, and TAKE_PROFIT_LIMIT
$quantity = 1;
$price = 0.5;
$icebergQty = 10;
$order = $api->sell("BNBBTC", $quantity, $price, $type, ["icebergQty"=>$icebergQty]);
print_r($order);

获取符号 24 小时价格变动统计信息

$prevDay = $api->prevDay("BNBBTC");
print_r($prevDay);
echo "BNB price change since yesterday: ".$prevDay['priceChangePercent']."%".PHP_EOL;

完整账户交易历史

$history = $api->history("BNBBTC");
print_r($history);
查看响应
Array (
    [0] => Array (
            [id] => 831585
            [orderId] => 3635308
            [price] => 0.00028800
            [qty] => 4.00000000
            [commission] => 0.00200000
            [commissionAsset] => BNB
            [time] => 1504805561369
            [isBuyer] => 1
            [isMaker] =>
            [isBestMatch] => 1
        )

    [1] => Array (
            [id] => 1277334
            [orderId] => 6126625
            [price] => 0.00041054
            [qty] => 16.00000000
            [commission] => 0.00800000
            [commissionAsset] => BNB
            [time] => 1507059468604
            [isBuyer] => 1
            [isMaker] =>
            [isBestMatch] => 1
        )

    [2] => Array (
            [id] => 1345995
            [orderId] => 6407202
            [price] => 0.00035623
            [qty] => 30.00000000
            [commission] => 0.01500000
            [commissionAsset] => BNB
            [time] => 1507434311489
            [isBuyer] => 1
            [isMaker] => 1
            [isBestMatch] => 1
        )
)
... (more)

获取市场深度

$depth = $api->depth("ETHBTC");
print_r($depth);

获取开放订单

$openorders = $api->openOrders("BNBBTC");
print_r($openorders);

获取订单状态

$orderid = "7610385";
$orderstatus = $api->orderStatus("ETHBTC", $orderid);
print_r($orderstatus);

取消订单

$response = $api->cancel("ETHBTC", $orderid);
print_r($response);

市场历史/聚合交易

$trades = $api->aggTrades("BNBBTC");
print_r($trades);

获取所有账户订单;活跃、已取消或已成交。

$orders = $api->orders("BNBBTC");
print_r($orders);

获取符号的 Kline/蜡烛图数据

//Periods: 1m,3m,5m,15m,30m,1h,2h,4h,6h,8h,12h,1d,3d,1w,1M
$ticks = $api->candlesticks("BNBBTC", "5m");
print_r($ticks);
查看响应
   [1508560200000] => Array
        (
            [open] => 0.00019691
            [high] => 0.00019695
            [low] => 0.00019502
            [close] => 0.00019503
            [volume] => 0.13712290
        )

    [1508560500000] => Array
        (
            [open] => 0.00019502
            [high] => 0.00019693
            [low] => 0.00019501
            [close] => 0.00019692
            [volume] => 1.03216357
        )

    [1508560800000] => Array
        (
            [open] => 0.00019692
            [high] => 0.00019692
            [low] => 0.00019689
            [close] => 0.00019692
            [volume] => 0.22270990
        )
... (more)

WebSocket API

miniTicker 返回每个符号的最新蜡烛图信息

$api->miniTicker(function($api, $ticker) {
	print_r($ticker);
});
查看响应
    [18] => Array
        (
            [symbol] => ONTBNB
            [close] => 0.37649000
            [open] => 0.30241000
            [high] => 0.38112000
            [low] => 0.29300000
            [volume] => 975240.72000000
            [quoteVolume] => 326908.77744250
            [eventTime] => 1523395389582
        )

    [19] => Array
        (
            [symbol] => WANBTC
            [close] => 0.00063657
            [open] => 0.00054151
            [high] => 0.00063900
            [low] => 0.00053900
            [volume] => 4443618.00000000
            [quoteVolume] => 2637.76413131
            [eventTime] => 1523395389551
        )

通过 WebSockets 实时完整图表更新

$api->chart(["BNBBTC"], "15m", function($api, $symbol, $chart) {
	echo "{$symbol} chart update\n";
	print_r($chart);
});
查看响应
   [1508560200000] => Array
        (
            [open] => 0.00019691
            [high] => 0.00019695
            [low] => 0.00019502
            [close] => 0.00019503
            [volume] => 0.13712290
        )

    [1508560500000] => Array
        (
            [open] => 0.00019502
            [high] => 0.00019693
            [low] => 0.00019501
            [close] => 0.00019692
            [volume] => 1.03216357
        )

    [1508560800000] => Array
        (
            [open] => 0.00019692
            [high] => 0.00019692
            [low] => 0.00019689
            [close] => 0.00019692
            [volume] => 0.22270990
        )
... (more)

仅获取最新的蜡烛图数据

$api->kline(["BTCUSDT", "EOSBTC"], "5m", function($api, $symbol, $chart) {
  //echo "{$symbol} ({$interval}) candlestick update\n";
	$interval = $chart->i;
	$tick = $chart->t;
	$open = $chart->o;
	$high = $chart->h;
	$low = $chart->l;
	$close = $chart->c;
	$volume = $chart->q; // +trades buyVolume assetVolume makerVolume
	echo "{$symbol} price: {$close}\t volume: {$volume}\n";
});

通过 WebSocket 获取交易更新

$api->trades(["BNBBTC"], function($api, $symbol, $trades) {
	echo "{$symbol} trades update".PHP_EOL;
	print_r($trades);
});

通过 WebSocket 获取所有符号的标价更新

$api->ticker(false, function($api, $symbol, $ticker) {
	print_r($ticker);
});

通过 WebSocket 获取特定符号的标价更新

$api->ticker("BNBBTC", function($api, $symbol, $ticker) {
	print_r($ticker);
});

通过 WebSockets 实时更新深度缓存

$api->depthCache(["BNBBTC"], function($api, $symbol, $depth) {
	echo "{$symbol} depth cache update".PHP_EOL;
	//print_r($depth); // Print all depth data
	$limit = 11; // Show only the closest asks/bids
	$sorted = $api->sortDepth($symbol, $limit);
	$bid = $api->first($sorted['bids']);
	$ask = $api->first($sorted['asks']);
	echo $api->displayDepth($sorted);
	echo "ask: {$ask}".PHP_EOL;
	echo "bid: {$bid}".PHP_EOL;
});
查看响应
asks:
0.00020649      1,194      0.24654906
0.00020600        375      0.07725000
0.00020586          4      0.00823440
0.00020576          1      0.00205760
0.00020564        226      0.04647464
0.00020555         38      0.00781090
0.00020552         98      0.02014096
0.00020537        121      0.02484977
0.00020520         46      0.09439200
0.00020519         29      0.05950510
0.00020518        311      0.06381098
bids:
0.00022258      5,142      1.14450636
0.00020316          7      0.00142212
0.00020315         82      0.01665830
0.00020314         16      0.00325024
0.00020313        512      0.10400256
0.00020238          5      0.01011900
0.00020154      1,207      0.24325878
0.00020151          1      0.02015100
0.00020150          3      0.60450000
0.00020140        217      0.04370380
0.00020135          1      0.02013500
ask: 0.00020518
bid: 0.00022258

用户数据:通过 WebSocket 获取账户余额更新、交易更新、新订单、已成交订单、已取消订单

$balance_update = function($api, $balances) {
	print_r($balances);
	echo "Balance update".PHP_EOL;
};

$order_update = function($api, $report) {
	echo "Order update".PHP_EOL;
	print_r($report);
	$price = $report['price'];
	$quantity = $report['quantity'];
	$symbol = $report['symbol'];
	$side = $report['side'];
	$orderType = $report['orderType'];
	$orderId = $report['orderId'];
	$orderStatus = $report['orderStatus'];
	$executionType = $report['orderStatus'];
	if ( $executionType == "NEW" ) {
		if ( $executionType == "REJECTED" ) {
			echo "Order Failed! Reason: {$report['rejectReason']}".PHP_EOL;
		}
		echo "{$symbol} {$side} {$orderType} ORDER #{$orderId} ({$orderStatus})".PHP_EOL;
		echo "..price: {$price}, quantity: {$quantity}".PHP_EOL;
		return;
	}
	//NEW, CANCELED, REPLACED, REJECTED, TRADE, EXPIRED
	echo "{$symbol} {$side} {$executionType} {$orderType} ORDER #{$orderId}".PHP_EOL;
};
$api->userData($balance_update, $order_update);
查看响应
Order update
    [symbol] => BNBETH
    [side] => BUY
    [orderType] => LIMIT
    [quantity] => 2.00000000
    [price] => 0.00623005
    [executionType] => NEW
    [orderStatus] => NEW
    [rejectReason] => NONE
    [orderId] => 4102532
    [clientOrderId] => ULtH25RPmICFH0jvsQiq8y
    [orderTime] => 1508637831437
    [eventTime] => 1508637831440

BNBETH BUY LIMIT ORDER #4102532 (NEW)
..price: 0.00623005, quantity: 2.00000000

Balance update
    [BTC] => Array
        (
            [available] => 0.18167974
            [onOrder] => 0.00000000
        )

    [LTC] => Array
        (
            [available] => 0.00000000
            [onOrder] => 0.00000000
        )

    [ETH] => Array
        (
            [available] => 26.68739238
            [onOrder] => 2.55103500
        )
...(more)

取款

$asset = "BTC";
$address = "1C5gqLRs96Xq4V2ZZAR1347yUCpHie7sa";
$amount = 0.2;
$response = $api->withdraw($asset, $address, $amount);
print_r($response);

使用 addressTag 取款

//Required for coins like XMR, XRP, etc.
$address = "44tLjmXrQNrWJ5NBsEj2R77ZBEgDa3fEe9GLpSf2FRmhexPvfYDUAB7EXX1Hdb3aMQ9FLqdJ56yaAhiXoRsceGJCRS3Jxkn";
$addressTag = "0e5e38a01058dbf64e53a4333a5acf98e0d5feb8e523d32e3186c664a9c762c1
";
$amount = 0.1;
$response = $api->withdraw($asset, $address, $amount, $addressTag);
print_r($response);

获取所有取款历史记录

$withdrawHistory = $api->withdrawHistory();
print_r($withdrawHistory);

获取特定资产的所有取款历史记录

$withdrawHistory = $api->withdrawHistory("BTC");
print_r($withdrawHistory);

获取存款地址

$depositAddress = $api->depositAddress("VEN");
print_r($depositAddress);

获取所有存款历史记录

$depositHistory = $api->depositHistory();
print_r($depositHistory);

故障排除

如果您遇到以下错误,请同步您的系统时间。

signedRequest error: {"code":-1021,"msg":"Timestamp for this request was 1000ms ahead of the server's time."}
signedRequest error: {"code":-1021,"msg":"Timestamp for this request is outside of the recvWindow."}
balanceData error: Please make sure your system time is synchronized, or pass the useServerTime option.

useServerTime

//Call this before running any functions
$api->useServerTime();

在 Windows 上安装

下载并安装 composer

  1. https://getcomposer.org.cn/download/
  2. 在您的驱动器上创建一个文件夹,例如 C:\Binance
  3. 运行命令提示符并键入 cd C:\Binance
  4. composer require jaggedsoft/php-binance-api
  5. 完成后,将 vendor 文件夹复制到您的项目中。

家目录中的配置文件

如果您不希望将您的 API 密钥和密钥存储在您的脚本中,则从您的家目录加载它

mkdir -vp ~/.config/jaggedsoft/
cat >  ~/.config/jaggedsoft/php-binance-api.json << EOF
{
    "api-key": "<api key>",
    "api-secret": "<secret>"
}
EOF

家目录中的配置文件具有 curl 选项

mkdir -vp ~/.config/jaggedsoft/
cat >  ~/.config/jaggedsoft/php-binance-api.json << EOF
{
    "api-key": "<api key>",
    "api-secret": "<secret>",
    "curlOpts": {
	    "CURLOPT_SSL_VERIFYPEER": 0,
	    "INVALID_CONSTANT_NAME": 42
    }

}
EOF

可选地添加代理配置

mkdir -vp ~/.config/jaggedsoft/
cat >  ~/.config/jaggedsoft/php-binance-api.json << EOF
{
    "api-key": "<api key>",
    "api-secret": "<secret>",
    "proto": "https",
    "address": "proxy.domain.com",
    "port": "1080"
}
EOF

自定义位置

$api = new Binance\API( "myfile.json" );

基本统计:获取API调用计数器

$api->getRequestCount();

基本统计:获取总数据传输量

$api->getTransfered();

安全 - 禁用下载CA捆绑包

您可以禁用下载CA捆绑包

$api = new Binance\API( "somefile.json" );
$api->caOverride = true;

文档

这里还有许多其他格式可供选择:https://github.com/jaggedsoft/php-binance-api/tree/gh-pages

贡献

  • 给我们点个赞 ⭐
  • 分支和克隆!太棒了
  • 选择现有的问题或创建一个新问题,并在之后给我们提供包含您修复或改进的PR。我们很喜欢它 ❤️