waves_logo Docs
  • Руководство владельца ноды
    Руководство владельца ноды
  • Установить ноду Waves
    • Развернуть ноду в Docker
      Развернуть ноду в Docker
    • Установить ноду на Ubuntu
      Установить ноду на Ubuntu
    • Установить ноду на macOS
      Установить ноду на macOS
    • Установить ноду на Windows
      Установить ноду на Windows
    • Установить из исходников (сборка SBT)
      Установить из исходников (сборка SBT)
    Установить ноду Waves
  • Синхронизировать блокчейн Waves
    • Импортировать и экспортировать блокчейн
      Импортировать и экспортировать блокчейн
    • Загрузить актуальный блокчейн
      Загрузить актуальный блокчейн
    • Откатить ноду
      Откатить ноду
    Синхронизировать блокчейн Waves
  • Генерировать блоки
    Генерировать блоки
  • Обновить ноду
    Обновить ноду
  • Конфигурация ноды
    Конфигурация ноды
  • Логирование
    Логирование
  • Кошелек ноды
    Кошелек ноды
  • Фичи
    • Протокол активации
      Протокол активации
    Фичи
  • Собственный блокчейн
    Собственный блокчейн
  • REST API ноды
    • API-ключ
      API-ключ
    • Работа с транзакциями
      Работа с транзакциями
    • Формат числовых полей
      Формат числовых полей
    • Постраничная выборка
      Постраничная выборка
    • CORS
      CORS
    • Ограничения пула публичных нод
      Ограничения пула публичных нод
    • Медленные запросы
      Медленные запросы
    • Коды ответов и ошибки
      Коды ответов и ошибки
    REST API ноды
  • Расширения
    • gRPC Server
      gRPC Server
    • Blockchain Updates
      Blockchain Updates
    Расширения
  • Устранение неполадок
    • Генерация блока FAQ
      Генерация блока FAQ
    Устранение неполадок
  • Нода на языке Go
    Нода на языке Go
      • English
      • Русский
      On this page
        • Задать API-ключ
        • API-ключ для приватных методов
      waves_logo Docs

          # API-ключ

          Приватные методы API ноды (например, подписание транзакции от имени ноды или экспорт seed) доступны только владельцу ноды и требуют API-ключ в HTTP запросе. Владелец ноды может задать API-ключ и другие параметры в секции Настройки REST API файла конфигурации ноды. Если вы не владелец ноды, то вам доступны только публичные методы.

          Ваш API-ключ ноды очень важен, как и seed и пароль кошелька.

          Примечание: API-ключ передается в HTTP-заголовке в виде незащищенного текста. Злоумышленник может перехватить его при передаче по сети и использовать для кражи ваших средств. Очень важно защитить передачу данных с помощью переадресации портов HTTPS или SSH.

          # Задать API-ключ

          Чтобы задать API-ключ, укажите его хеш в файле конфигурации ноды.

          1. Создайте уникальную строку, которую будете использовать в качестве API-ключа.

          2. Перейдите в веб-интерфейс Swagger.

          3. Откройте API метод /utils/hash/secure и введите вашу уникальную строку в поле message.

          4. Нажмите Execute чтобы получить хеш API-ключа.

          5. В файле конфигурации вашей ноды в параметре api-key-hash укажите хеш API-ключа.

          6. Перезапустите ноду.

          # API-ключ для приватных методов

          Приватные методы API ноды помечены значком 🔒 в Swagger UI. При вызове приватных методов необходимо указывать исходный API-ключ (не хеш!) в HTTP-заголовке X-Api-Key.

          Пример вызова приватного метода подписания транзакции:

          curl -X POST --header 'X-API-Key: YOUR UNIQUE API KEY' --header 'Content-Type: application/json' --header 'Accept: application/json'
          -d '{ \
          "amount": 5800000000, \
          "fee": 100000, \
          "type": 4, \
          "version": 1, \
          "attachment": "", \
          "sender": "3P3pUKEAKxegWr3PZkGYNq1mzQQaQ5zxZbw", \
          "feeAssetId": null, \
          "assetId": null, \
          "recipient": "3P9p39MwZ5JjwdBSYEWC6XYri4jpovzcAbs", \
          "feeAsset": null, \
          "timestamp": 1568020044350 \
          }' 'http://nodes.wavesnodes.com/transactions/sign'
          

          API ноды позволяет подписывать транзакции только от имени аккаунтов, которые хранятся в кошельке ноды. Если вы хотите подписать свою транзакцию/транзакцию другого пользователя, но нода не ваша, используйте клиентские библиотеки (см. примеры в разделе Как создать транзакцию и отправить ее на блокчейн).

          REST API ноды
          Работа с транзакциями
          REST API ноды
          Работа с транзакциями