Меню документации

Окружения

Платформа предоставляет два изолированных окружения на отдельных хостах. Аккаунт, баланс, API-ключи и секреты вебхуков привязаны строго к одному окружению и никогда не пересекаются.

Перед началом работы

ПараметрMainnet (основная сеть)Тестнет Nile
Базовый URLhttps://api.tenergy.me/v1https://api-nile.tenergy.me/v1
Префиксы ключейak_live_… / sk_live_…ak_test_… / sk_test_…
БалансПополняется реальным депозитом в блокчейнеПополняется через тестовый кран (faucet) в кабинете
Расчет ценДинамический движок цен в реальном времениФиксированная таблица тестовых цен
Поле network в GET /v1/prices и в вебхукахmainnetnile

Ключ, отправленный на хост другого окружения, отклоняется с ошибкой 1012 key_environment_mismatch еще до поиска ключа в базе данных.

Как проверить текущее окружение

Публичный запрос GET /v1/prices возвращает имя сети, что позволяет клиенту программно проверить окружение перед выполнением платных операций.

curl -s https://api-nile.tenergy.me/v1/prices | grep -o '"network":"[a-z]*"'
const prices = await (await fetch("https://api-nile.tenergy.me/v1/prices")).json();
if (prices.network !== "nile") throw new Error(`ожидалась сеть nile, получено ${prices.network}`);
import json, urllib.request

with urllib.request.urlopen("https://api-nile.tenergy.me/v1/prices") as res:
    prices = json.load(res)
assert prices["network"] == "nile", prices["network"]

В чем Nile отличается от Mainnet

Тестнет Nile не является абсолютной копией основной сети. Используйте его для проверки формата запросов и ответов API; поведение под реальной нагрузкой проверяйте в Mainnet.

МеханикаNileMainnet
Исполнение ордеров пуламиТолько через ITRX — у других поставщиков нет тестнетаПолный каскад поставщиков ликвидности
Доступная ликвидностьНебольшой тестовый объем; крупные заказы могут возвращать 5001 insufficient_supplyРеальная распределенная ликвидность сети
Максимальный срок блокировки делегирования5 дней (getMaxDelegateLockPeriod — 144 000 блоков)30 дней (864 000 блоков)
Задержка разморозки (unfreeze)1 день14 дней (getUnfreezeDelayDays)
Тарифы и пайплайныНевозможно протестировать тариф 30d и процедуру вывода стейкингаДоступны все тарифы и процессы

Вебхуки из Nile подписываются собственным секретом тестового эндпоинта. Если ваш обработчик принимает уведомления из обоих окружений, выбирайте секрет для проверки подписи по полю network в теле запроса или по URL эндпоинта — но ни в коем случае не по типу события.

Следующие шаги

  • Быстрый стартпять базовых запросов на примере тестнета Nile.
  • Аутентификациясхема формирования подписи идентична для обоих хостов.
  • Webhooksполя network и test в структуре каждого события.

    ↑ ↓ — выбрать · Enter — открыть · Esc — закрыть