notf0und/binance-ws

Binance Websockets 客户端用于 Laravel

0.3.1 2021-05-29 05:18 UTC

This package is auto-updated.

Last update: 2024-09-27 10:51:48 UTC


README

一个用于从加密货币交易所 Binance 获取数据的 websockets 客户端。

安装

composer require notf0und/binance-ws

可用的流

  • AggregateTrade
  • AllBookTickers
  • IndividualSymbolBookTicker
  • IndividualSymbolMiniTicker
  • IndividualSymbolTicker
  • KlineCandlestick
  • Trade

使用示例

use Notf0und\BinanceWS\Services\Binance\Websockets\AggregateTrade;
use Notf0und\BinanceWS\Services\Binance\Websockets\AllBookTickers;
use Notf0und\BinanceWS\Services\Binance\Websockets\KlineCandlestick;
use Notf0und\BinanceWS\Services\Binance\Websockets\Client\Ratchet as Client;

// Default config (btcusdt symbol)
$allBookTickers = new AllBookTickers();

// Change symbol
$aggregateTrade = new AggregateTrade();
$aggregateTrade->setSymbol('ethbtc');

// Change symbol and interval (just KlineCandlestick class allow to set interval)
$kline = new KlineCandlestick();
$kline->setSymbol('ethusdt');
$kline->setInterval('15m');

// Create the client with the previously created streams
$client = new Client([
    $allBookTickers,
    $aggregateTrade,
    $kline
]);

//Connect
$client->connect()

如果一切顺利,每个接收到的消息都会触发包含负载属性的 \Notf0und\BinanceWS\Events\MessageReceived 事件。

因此,现在我们可以附加一些事件监听器,如下所示。

// App\Providers\EventServiceProvider.php

use Notf0und\BinanceWS\Events\MessageReceived;
use App\Listeners\MyCustomEventListener;

class EventServiceProvider extends ServiceProvider
{
    /**
     * The event listener mappings for the application.
     *
     * @var array
     */
    protected $listen = [
        MessageReceived::class => [
            MyCustomEventListener::class
        ]
    ];

在事件监听器中,例如,我们可以将接收到的内容写入日志

namespace App\Listeners;

class MyCustomEventListener
{

    /**
     * Handle the event.
     *
     * @param  object  $event
     * @return void
     */
    public function handle($event)
    {
        Log::info($event->payload);
    }
}

变更日志

请参阅 变更日志 了解最近的变化信息。

贡献

请参阅 contributing.md 了解详细信息和一个待办事项列表。

安全

如果您发现任何与安全相关的问题,请通过电子邮件 gonzartur@gmail.com 而不是使用问题跟踪器。

鸣谢

许可

MIT。请参阅 许可文件 了解更多信息。