• Руководство пользователя
    • Заметки о безопасности
      Заметки о безопасности
    • 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
        • Системные требования
        • Проверка версии установленного OpenJDK
        • Установка OpenJDK 8
        • Установка Ноды
        • Настройка ноды
        • Установка матчера

          # Установка матчера на Ubuntu из Deb-пакета

          WX Network Matcher выполняет ордеры при покупке / продаже токенов. Каждый может развернуть матчер и начать получать вознаграждение за выполнение заказов.

          Рассмотрим процесс исполнения ордера.

          1. Матчер получает заказ на покупку/продажу пары токенов. Ордер содержит информацию о сумме актива A и его цене, выраженной в сумме актива B.
          2. Матчер накапливает ордеры в книге ордеров. При получении нового ордера матчер сопоставляет его с существующими заказами и пытается найти взаимно удовлетворяющие заказы.
          3. Если найдены взаимно удовлетворяющие заказы, то матчер отправляет exchange transaction в блокчейн. В результате указанные заказы выполняются. Если взаимно удовлетворяющие заказы не найдены, то новый заказ отправляется в книгу заказов.
          4. Матчер получает matcher fee от отправителей за каждый выполненный заказ.
          5. Матчер платит комиссию за обмен майнеру. Вознаграждение за матчинг - это разница между платой за матчинг и комиссией за обмен.

          В данной статье рассматривается развертывание матчера из deb-пакета. Поскольку матчер является расширением ноды, нода должна быть развернута до активации матчера.

          # Системные требования

          • 2 core CPU
          • 4 GB RAM
          • 50 GB HDD

          # Проверка версии установленного OpenJDK

          Убедитесь, что у вас установлен OpenJDK версии 8. Для этого выполните в консоли следующую команду:

          java -version 2>&1 | grep "openjdk version \"1.8" | wc -l
          

          Если отображается 0, перейдите к шагу Установка OpenJDK 8.

          Если отображается 1 перейдите к шагу Установка Ноды.

          # Установка OpenJDK 8

          Чтобы установить OpenJDK версии 8, выполните в консоли:

          sudo apt-get update
          sudo apt-get install openjdk-8-jre
          

          # Установка Ноды

          1. Загрузите последнюю версию файла waves_<version>_all.deb по ссылке https://github.com/wavesplatform/Waves/releases.

          2. Выполните в консоли:

            sudo dpkg -i /path/to/waves_<version>_all.deb
            
          3. Перейдите в папку /var/lib/waves выполнив в консоли:

            cd /var/lib/waves
            

          # Настройка ноды

          1. Откройте файл /usr/share/waves/conf/waves.conf следующей командой:

            sudo nano /usr/share/waves/conf/waves.conf
            
          2. Решите, следует ли использовать существующую или новую учетную запись для ноды. Используйте существующую учетную запись, если планируете использовать свой ноду в качестве майнинговой ноды.

            • Чтобы использовать новую учетную запись, "раскомментируйте" в секции wallet параметр password и задайте ему значение. Пример:

              wallet {
                # Password to protect wallet file
                password = iAmGoingToUseAnewAccount
                # Wallet seed as BASE58 string
                # seed =
              }
              
            • Чтобы использовать существующую учетную запись, введите в секции wallet пароль, SEED фразу в кодировке base58.

              wallet {
                # Password to protect wallet file
                password = iAmGoingToUseAnExistingAccount
                # Wallet seed as BASE58 string
                seed = 35S7EzKMHMN4JQyWnwpp84Zot1yqLoP2Q46RsbYRzgFq7n8AiV8L6skeGPq93P2NU4pGcZFeNTAT2TKJTa2XvqRwSdCmBR556MBmtZ3ggAkBtd3CCZFvZwZufz1ZqfzJQ
              }
              
          3. Добавьте в файле /usr/share/waves/conf/waves.conf следующую секцию:

            waves.extensions = ["com.wavesplatform.dex.Matcher"]
            
          4. Задайте в файле /usr/share/waves/conf/waves.conf в секции rest_api следующие параметры:

            • enable = yes
            • api_key_hash = " "
            rest-api {
              # Disable node’s REST API
              enable = yes
              …
              api_key_hash = " "
            }
            
          5. Запустите ноду выполнив следующую команду:

            sudo systemctl start waves
            
          6. Сгенерируйте непустое значение api_key_hash, выполнив команду:

            curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' -d '<YOUR_ARBITRARY_STRING>' '127.0.0.1:6869/utils/hash/secure'
            

            Пожайлуйста используйте своё значение вместо <YOUR_ARBITRARY_STRING>. Рекомендуется сохранить его. В результате вы увидите следующий вывод:

            {"message": "YOUR_ARBITRARY_STRING", "hash": "3QbuM9nJP9GZQDekgfGboPGDQe4g1nsH4kmK2jbCLAFJ"}
            
          7. Задайте в файле /usr/share/waves/conf/waves.conf в секции rest_api значение параметра api_key_hash:

            rest-api {
              …
              api_key_hash = “3QbuM9nJP9GZQDekgfGboPGDQe4g1nsH4kmK2jbCLAFJ”
            }
            
          8. Перезапустите ноду, выполнив следующую команду:

            sudo systemctl restart waves
            
          9. Убедитесь, что блокчейн загружен. Выполните следующую команду:

            sudo journalctl -u waves -f
            

            В результате будет отображен журнал загрузки блокчейна. Если "microblock appended" записи начали появляться в журнале, значит блокчейн полностью загружен.

          10. Нажмите Ctrl-C, чтобы закрыть журнал.

          11. Чтобы узнать адрес аккаунта ноды, выполните команду:

          curl 127.0.0.1:6869/addresses
          

          В результате будет отображаться адрес учетной записи узла, например 3PAbvhnSesJGUd1Ry6YM1qCALTSD4pYGxG.

          1. Выполните следующие шаги в файле /usr/share/waves/conf/waves.conf:

            1. Создайте секцию waves.dex section.
            2. Задайте адрес аккаунта ноды для матчера в параметре account в секции waves.dex, полученный в предыдущем шаге.
            waves.dex {
              account = "3PAbvhnSesJGUd1Ry6YM1qCALTSD4pYGxG"
              # bind-address = "0.0.0.0" # uncomment this line to accept connections from any host
            }
            

          Другие параметры ноды не входят рамки данной статьи. Чтобы получить больше информации о параметрах ноды, изучите статью Node Configuration (opens new window).

          # Установка матчера

          1. Загрузите свежую версию файла dex_<version>_all.deb по ссылке https://github.com/wavesplatform/dex/releases (opens new window).

          2. Выолните в консоли следующую команду:

            sudo dpkg -i /path/to/dex_<version>_all.deb
            
          3. Перезапустите ноду, выполнив следующую команду:

            sudo systemctl restart waves
            
          4. Убедитесь, что матчер успешно запущен. Для этого выполните команду:

            curl 127.0.0.1:6886/matcher
            

          В результате будет отображен адрес аккаунта матчера. Поздравляем, вы успешно установили матчер.

          Комиссия матчера
          Настройки матчера
          Комиссия матчера
          Настройки матчера