notf0und / binance-ws
Binance Websockets 客户端用于 Laravel
0.3.1
2021-05-29 05:18 UTC
Requires
- illuminate/support: ^8
- ratchet/pawl: ^0.3.5
Requires (Dev)
- orchestra/testbench: ~5|~6
- phpunit/phpunit: ~9.0
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。请参阅 许可文件 了解更多信息。