• Руководство пользователя
    • Заметки о безопасности
      Заметки о безопасности
    • Online/Desktop приложения
      • Управление аккаунтом
        • Создать аккаунт
          Создать аккаунт
        • Войти в аккаунт
          Войти в аккаунт
        • Создать Резервную Копию Seed-фразы
          Создать Резервную Копию Seed-фразы
        • Восстановить аккаунт
          Восстановить аккаунт
        • Узнать свой адрес
          Узнать свой адрес
        • Создать персональный алиас
          Создать персональный алиас
        • Импорт из Keeper Wallet
          Импорт из Keeper Wallet
        • Использовать устройства Legder Nano
          Использовать устройства Legder Nano
        Управление аккаунтом
      • Управление токенами
        • Ввод и вывод токенов
          • Транзакции
            Транзакции
          Ввод и вывод токенов
        • Купить токены с помощью банковской карты
          • Как работать с платежной системой Advanced Cash
            Как работать с платежной системой Advanced Cash
          Купить токены с помощью банковской карты
        • Создать токен
          Создать токен
        • Массовая отправка
          Массовая отправка
        • Перевыпустить токен
          Перевыпустить токен
        • Поменять перевыпускаемый на не перевыпускаемый
          Поменять перевыпускаемый на не перевыпускаемый
        • Сжечь токен
          Сжечь токен
        • Спонсорская транзакция
          Спонсорская транзакция
        • Спонсорская комиссия
          Спонсорская комиссия
        • Услуга OTC
          Услуга OTC
        • Своп DeFo
          Своп DeFo
        • Своп WAVES/XTN
          Своп WAVES/XTN
        • Своп токенов
          Своп токенов
        Управление токенами
      • Инвестиционные инструменты
        • Передать в стейкинг
          • Как получить XTN (Quick Guide)
            Как получить XTN (Quick Guide)
          • Как получить USDT/USDC/BTC/ETH (Quick Guide)
            Как получить USDT/USDC/BTC/ETH (Quick Guide)
          Передать в стейкинг
        • Lambo инвестиции
          Lambo инвестиции
        • Алгоритмическая торговля
          Алгоритмическая торговля
        • Управление Neutrino
          Управление Neutrino
        • Neutrino пулы
          Neutrino пулы
        Инвестиционные инструменты
      • Пулы ликвидности
        • Как максимально увеличить пассивный доход от пулов ликвидности?
          Как максимально увеличить пассивный доход от пулов ликвидности?
        • Как внести/вывести токены в/из пул(а) ликвидности?
          Как внести/вывести токены в/из пул(а) ликвидности?
        • Как сдать в стейкинг/забрать из стейкинга LP-токены?
          Как сдать в стейкинг/забрать из стейкинга LP-токены?
        • Как забрать вознаграждение в WX-токене за стейкинг LP-токена?
          Как забрать вознаграждение в WX-токене за стейкинг LP-токена?
        • Как сдать WX-токен в стейкинг, чтобы увеличить доход за стейкинг LP-токена?
          Как сдать WX-токен в стейкинг, чтобы увеличить доход за стейкинг LP-токена?
        • Как забрать вознаграждения за WX стейкинг?
          Как забрать вознаграждения за WX стейкинг?
        • Протокол WX-токена
          Протокол WX-токена
        Пулы ликвидности
      • Голосование
        Голосование
      • Расширенные возможности
        • Script транзакции
          Script транзакции
        • JSON подтверждение
          JSON подтверждение
        Расширенные возможности
      • Торговля на бирже
        Торговля на бирже
      Online/Desktop приложения
    • Мобильные приложения
      • Приложение WX Network
        Приложение WX Network
      • Приложение Waves.Exchange
        • Управление аккаунтом
          • Создать аккаунт
            Создать аккаунт
          • Войти в аккаунт
            Войти в аккаунт
          • Восстановить аккаунт
            Восстановить аккаунт
          • Узнать свой адрес
            Узнать свой адрес
          • Создать персональный алиас
            Создать персональный алиас
          Управление аккаунтом
        • Управление токенами
          • Ввод и вывод токенов
            Ввод и вывод токенов
          • Купить токены с помощью банковской карты
            Купить токены с помощью банковской карты
          • Сжечь токен
            Сжечь токен
          Управление токенами
        • Торговля на бирже
          Торговля на бирже
        Приложение Waves.Exchange
      • Приложение WX Invest
        Приложение WX Invest
      Мобильные приложения
    • Работа с MetaMask в сети Waves
      Работа с MetaMask в сети Waves
    • Реферальная программа WX
      Реферальная программа WX
    Руководство пользователя
  • API и библиотека
    • CCXT
      CCXT
    • Комиссии
      Комиссии
    • API платежей
      API платежей
    • API авторизации
      API авторизации
    • API шлюза
      • Внесение средств
        • [Deprecated] GET /v1/deposit/addresses/{currency}
          [Deprecated] GET /v1/deposit/addresses/{currency}
        • GET /v1/deposit/addresses/{currency}/{platform}
          GET /v1/deposit/addresses/{currency}/{platform}
        • GET /v1/deposit/currencies
          GET /v1/deposit/currencies
        • [Deprecated] GET /v1/deposit/currencies/{currency}
          [Deprecated] GET /v1/deposit/currencies/{currency}
        • GET /v1/deposit/currencies/{currency}/{platform}
          GET /v1/deposit/currencies/{currency}/{platform}
        • Terms of Deposit
          Terms of Deposit
        Внесение средств
      • Вывод средств
        • [Deprecated] GET /v1/withdraw/addresses/{currency}/{address}
          [Deprecated] GET /v1/withdraw/addresses/{currency}/{address}
        • GET /v1/withdraw/addresses/{currency}/{address}/{platform}
          GET /v1/withdraw/addresses/{currency}/{address}/{platform}
        • GET /v1/withdraw/currencies
          GET /v1/withdraw/currencies
        • [Deprecated] GET /v1/withdraw/currencies/{currency}
          [Deprecated] GET /v1/withdraw/currencies/{currency}
        • GET /v1/withdraw/currencies/{currency}/{platform}
          GET /v1/withdraw/currencies/{currency}/{platform}
        • Условия вывода
          Условия вывода
        Вывод средств
      • История операций
        История операций
      • Список платформ
        Список платформ
      • Коды ошибок
        Коды ошибок
      API шлюза
    • Токен доступа
      • Получить токен в интерфейсе
        Получить токен в интерфейсе
      • POST /v1/oauth2/token
        POST /v1/oauth2/token
      Токен доступа
    • Получить список сделок (Get Trades)
      Получить список сделок (Get Trades)
    • Годовая процентная ставка стейкинга (API)
      Годовая процентная ставка стейкинга (API)
    • Матчер
      • Протокол WX Network
        Протокол WX Network
      • Комиссия матчера
        Комиссия матчера
      • Установка матчера на Ubuntu из Deb-пакета
        Установка матчера на Ubuntu из Deb-пакета
      • Настройки матчера
        Настройки матчера
      • API Матчера
        • Правила валидации ордера
          Правила валидации ордера
        • Правила валидации ExchangeTransaction
          Правила валидации ExchangeTransaction
        API Матчера
      • WebSocket API Матчера
        • Ошибки и отладка
          Ошибки и отладка
        • Common Streams
          Common Streams
        WebSocket API Матчера
      Матчер
    API и библиотека
  • Глоссарий
    Глоссарий
      • English
      • Русский
      On this page
        • Handshake Errors
        • Operation Errors
        • Другие возможные общие ошибки
        • Отладка сетевого соединения
        • Обнаружение сетевых проблем на стороне клиента
          • Частые вопросы (FAQ)

          # Ошибки и отладка

          Важно: Документация Matcher WebSocket API описывает наиболее распространенные ошибки, которые могут возникнуть во время стримов. Однако предоставленная информация может не охватывать все возможные случаи. Вы можете встретить и другие стандартные ошибки. Если вы столкнулись с такими ошибками, свяжитесь со службой поддержки или командой разработчиков. Также обратите внимание, что Сервер очень старается, но не может гарантировать доставку всех ошибок Клиенту.

          См. список всех возможных ошибок (opens new window).

          # Handshake Errors

          Ошибки могут возникать в момент подключения (handshake). Причина описывается в HTTP-заголовках ответа:

          X-Error-Code - error code; X-Error-Message - error message;

          Коды ошибок и сообщения аналогичны соответствующим полям JSON-объектов, описывающих ошибки, возвращаемые в HTTP Matcher API: https://github.com/wavesplatform/matcher/wiki/List-of-all-errors-(future-release)

          # Operation Errors

          Ошибки могут возникать во время работы. Такие ошибки содержат стандартизированный (opens new window) код и сообщение и приходят от сервера как системные сообщения. После таких ошибок соединение закрывается.

          Пример ошибки:

          {
            "T": "e",
            "_": 1585148910776,
            "c": 8388624,
            "m": "The order book for Emn8cyGDFgnLCKLTXqVWhKJARhtR2muBUuZaSmqNzDfn-Co11Tbj83TeZCnuXrZQwv6Bs4XG2sm1vGQiQ4FLDjJWs is stopped, please contact with the administrator"
          }
          

          В данном примере:

          e это тип сообщения "error".

          1585148910776 это Unix временная отметка обновления в миллисекундах. Данное поле предназначено для отладки.

          8388624 это код ошибки.

          m поле содержит сообщение с описанием ошибки.

          # Другие возможные общие ошибки

          Общие ошибки могут возникать во время любых стримов.

          MatcherIsStopping - сервер в процессе остановки. Обычно происходит при обновлении. Рекомендуется подключиться заново;

          PongTimeout - клиент не ответил на Ping. Может произойти из-за сетевых неполадок на стороне клиента. Рекомендуется исправить сетевые проблемы и подключиться заново;

          UnexpectedError - системная ошибка. Обратитесь в техподдержку;

          # Отладка сетевого соединения

          В некоторых ситуациях может потребоваться выполнить отладку соединения и со стороны клиента, и со стороны сервера. Вам потребуется атрибут, который отфильтрует записи и позволит соединить журналы обоих сторон. При открытии соединения, Matcher отправляет клиенту специальное сообщение, содержащее этот атрибут в поле i.

          В случае возникновении проблем, необходимо отправить техподдержке или разработчикам Matcher значение данного атрибута, а так же желательно запросы по WebSocket со стороны клиента с временными метками. Это может сильно упростить диагностику проблемы.

          Пример:

          {
            "T": "i",
            "_": 1585148910776,
            "i": "736fe9b1-59ad-4164-a942-c07a081678d5"
          }
          

          В данном примере:

          i это тип сообщения - initial/information.

          1585148910776 это Unix временная отметка обновления в миллисекундах. Данное поле предназначено для отладки.

          736fe9b1-59ad-4164-a942-c07a081678d5 это id подключения.

          # Обнаружение сетевых проблем на стороне клиента

          TCP/IP, на котором построен WebSocket, старается гарантировать доставку сообщений, но 100% гарантии не существует. Для решения этой проблемы Matcher отправляет update id вместе с каждым доменным сообщением.

          Поле update id:

          • Является инкрементальным. Т.е. следующее значение больше предыдущего на единицу;

          • Начинает отсчет с 0, который приходит вместе с snapshot доменной сущности;

          • Последнее значение - 9007199254740991. После него счетчик сбрасывается в 1;

          • Кодируется буквой "U";

          • Имеет собственное значение в каждом соединении;

          Пример:

          {
            "U": 1025 // update id
          }
          

          В данном примере:

          1025 это update id

          Клиент должен следить за update id, закрывать соединение и открывать его снова, если не соблюдается одно из условий:

          • Первое доменное имеет update id = 0

          • Каждое следующее сообщение имеет значение update id = previous(update id) + 1

          • При достижении последнего значения, следующее должно быть равно 1

          Примечание: Игнорирование данных рекомендаций может привести к нарушению консистентности сущности.

          # Частые вопросы (FAQ)

          Q: Почему 9007199254740991?

          A: Это значение константы Number.MAX_SAFE_INTEGER в браузерах. Заметьте, что на данный момент из-за ограничения длительности соединения в 24 часа, последнее значение счетчика не может быть достигнуто.

          WebSocket API Матчера
          Common Streams
          WebSocket API Матчера
          Common Streams