Подключение к бирже Bittrex.com через websocket на Perl
Необходимо реализовать на языке Perl подключение к бирже Bittrex.com через websocket и получение информации для формирования «локальной копии» биржевого стакана (orderbook).
Задача:
1) получать информацию (поддерживать актуальное состояние стакана цен) по нескольким валютным парам одновременно. Например, USD-BTC, USD-ETH, USD-XRP, USDT-BTC, USDT-ETH, USDT-TRX, BTC-ETH, BTC-TRX, BTC-LTC, ETH-XRP, ETH-BCH, ETH-ETC,
2) в случае изменения лучшей цены продажи или покупки по одной из вышеперечисленных пар, дописать в файл с именем формата «price_change_dd.mm.yy.log» строку вида «dd.mm.yy-hh.mm.ss,pair_name,ask_price,ask_volume, bid_price,bid_volume», где «pair_name» – одна из валютных пар перечисленных выше, «ask_price,ask_volume,bid_price,bid_volume» – лучшая цена покупки, объем этой покупки, лучшая цена продажи, объем этой продажи соответственно.
Скрипт должен:
- запускаться на ОС Linux и Windows (Perl от ActiveState),
- стабильно работать 24/7 без необходимости перезапуска, следить за подключением к бирже и автоматически восстанавливать подключение при разрыве,
- логировать существенные события и ошибки в CSV формате («dd.mm.yy-hh.mm.ss,event/error_name,details») в файл с именем формата «working_dd.mm.yy.log» и «errors_dd.mm.yy.log» соответственно,
- получать информацию (поддерживать актуальное состояние стакана цен) по нескольким валютным парам одновременно,
- проверять актуальность текущего стакана цен, а в случае рассинхронизации, выполнять ресинхронизацию по необходимой валютной паре (плюс запись в лог-файл момента рассинхронизации, ее причины и момента восстановления),
- в случае приостановки торгов на бирже (в целом или по одной из валютных пар)/недоступности биржи/отсутствии синхронизации цен должен подниматься соответствующий флаг (плюс запись в лог-файл двух отметок), запись цены по недоступной паре в этот момент не осуществляется.
Необходимо предусмотреть:
- возможность расширена функционала в части получения информации для которой требуется авторизация, например состояние баланса,
- подключения к другим биржам с целью получения аналогичной информации о котировках и др.
Дополнительные требования:
- скрипт должен быть «thread safe», включая используемые модули,
- информация из биржевого стакана и флаги доступности торгов, состояния синхронизации должна быть доступна в других тредах.
Сразу указывайте примерные сроки и цену
Пример реализации на Python: https://github.com/slazarov/python-bittrex-websocket-aio
Current freelance projects in the category Web Programming
Update of the one-page website for construction services
22 USD
Updating the existing one-page self-written website for construction services Task: -Redesign of the website -Adding service categories by creating a multi-landing page for 6 categories -Adding photos and descriptions of work to each category -Optimization of the website's… Web Programming ∙ 3 hours 10 minutes back ∙ 45 proposals |
Refinement of the Front-end e-commerce site on OpencartNeed to refine the front-end of an e-commerce site on OpenCart. Main tasks: fix visual bugs, ensure responsiveness for mobile devices, improve the display of product cards, categories, cart, and checkout page. Neat layout is expected, maintaining the current design, and correct… Content Management Systems, Web Programming ∙ 5 hours 9 seconds back ∙ 37 proposals |
Development of a lead collection form before program upload (MODX)Website: bricscad-ukraine.com.uaCMS: MODXGoal: Create a lead collection mechanism before downloading software for 3 versions: Windows, MacOS, Linux from the site for further processing by the sales department. Web Programming ∙ 8 hours 29 minutes back ∙ 27 proposals |
Remove viruses from the site and update plugins (Wordpress)Need a WordPress specialist for technical refinement of the website Task: Clean the website https://www.mast-agency.com/ from viruses/malicious code, files; (there is a virus on the site that creates pages and redirects to someone else's store) Update plugins so that the… Content Management Systems, Web Programming ∙ 12 hours 33 seconds back ∙ 68 proposals |
Make sure that order emails from the store do not go to spam.Currently, there is a store on OpenCart, and order emails are landing in spam. We need to ensure they go to Inbox (ukr.net gmail) and check it. The hosting provider wrote: Poor email delivery may be related to a low sender reputation - IP or domain. In this case, we can advise… PHP, Web Programming ∙ 13 hours 4 minutes back ∙ 45 proposals |