JSON_UNESCAPED_UNICODE для функции json_encode, При декоде вы в любом случае должны получить обычный текст независимо от того кодировали его с JSON_UNESCAPED_UNICODE или нет.
Возвращаемые значения:
Возвращает ассоциативный массив нестатических свойств объекта object, доступных в данной области видимости. Замечание:
Неинициализированные свойства считаются недоступными и поэтому не включаются в массив.
Вы неправильно читаете, в начале пакета идет размер текущего сообщения, нужно смотреть этот размер и после этого читать нужное кол-во байт. Лишнее оставлять для следующего пакета. Пакеты не всегда приходят в целом виде.
У вас расчеты вообще не похожи на те формулы на какие вы ссылаетесь, нужно использовать скользящие средние, указывать период расчета. В итоге у вас должно быть 366-14 расчетных результатов, а не одно что вы насчитали.
Потому что вы установили лимит времени ожидания, лимит истёк, в потоках ничего не изменилось, функция вернула пустой результат. Уберите лимит и она будет ждать пока что-то изменится и тогда вернет потоки на которых произошли изменения.
У меня была проблема с производительностью при переходе на mysql8, проблема была в том что в 8-ой версии по-умолчанию включен бинлог. Чтоб его выключить нужно в конфиге прописать
Не уверен что такое возможно, есть сильно отличающиеся номера кошельков, а есть на одинаковом движке так сказать (если не ошибаюсь то BTC и LTC). И у них могут пересекаться номера кошельков.
Ну вам нужно ловить исключения с помощью try ... catch. Куда его воткнуть в этой дичи колбэков я без понятия, но примерно подозреваю что вокруг "return $client->request...".