Перейти к основному содержанию
По умолчанию RPC URL Virtual Environment содержит случайно сгенерированный идентификатор, который меняется каждый раз, когда вы создаёте или пересоздаёте (re-fork) окружение. Named RPC URL заменяет этот идентификатор выбранным вами именем, так что URL остаётся неизменным при повторных форках. Это устраняет необходимость обновлять CI-секреты, .env-файлы или зашитые RPC URL каждый раз, когда вы разворачиваете свежее окружение под pull request, локальный dev-цикл или стейджинговый деплой.

Формат RPC URL

Advanced section of the Create Virtual Environment dialog with the Named RPC URL toggle enabled and the Add named endpoint combobox open showing a Create option for a new name
Без имени идентификатор в RPC URL генерируется автоматически, например https://virtual.mainnet.eu.rpc.tenderly.co/tenderly/demo/89e9b3-4bcd00, и новый генерируется каждый раз, когда вы делаете повторный форк. С привязанным именем Public и Admin RPC URL принимают следующий вид:
ЭндпоинтФормат URLЗаметки
Public RPChttps://virtual.[NETWORK].[REGION].rpc.tenderly.co/[ACCOUNT]/[PROJECT]/[RPC_NAME]Только стандартный JSON-RPC, безопасно делиться с внешними тестировщиками или встраивать в UI dapp.
Admin RPChttps://virtual.[NETWORK].[REGION].rpc.tenderly.co/[ACCOUNT]/[PROJECT]/[RPC_NAME]-[SUFFIX][SUFFIX] — случайная строка, которую Tenderly добавляет, чтобы эндпоинт с чит-кодами оставался неугадываемым, даже если имя публично.
[REGION] — это eu или us-east, в зависимости от того, что вы выбрали при назначении имени. [RPC_NAME] должно быть уникальным в рамках вашего проекта. После того как имя привязано, именно оно, а не автосгенерированный идентификатор, остаётся неизменным при повторных форках.

Назначение имени при создании Virtual Environment

  1. Начните создание Virtual Environment и разверните раздел Advanced.
  2. Включите Named RPC URL.
  3. В Add named endpoint введите новое имя и выберите Create <name> или выберите существующее имя из списка.
  4. Нажмите Create Virtual Environment.
Admin и Public RPC URL для нового окружения доступны на его странице Home в разделе Integrate Virtual RPC.
Integrate Virtual RPC panel showing the resolved Admin RPC URL ending in the name plus a random suffix, the Public RPC URL ending in just the name, and the chain id

Изменение или удаление имени после создания

Откройте страницу Settings Virtual Environment. Раздел Named RPC URL там повторяет тот, что в диалоге создания:
  • Чтобы переназначить окружение на другое имя, откройте селектор имён и выберите другую запись или введите новое имя и выберите Create <name>.
  • Чтобы отвязать имя от этого окружения, отключите Named RPC URL и сохраните. Само имя не удаляется, оно просто становится свободным для привязки в другом месте.

Имя соответствует одному окружению за раз

Привязка имени к Virtual Environment — это отношение «один к одному». В селекторе имён существующие имена, которые уже назначены в другом месте проекта, помечены как In use on another environment. Выбор одного из них привязывает его к текущему окружению и отвязывает от окружения, которому оно принадлежало ранее, — так что named RPC URL того окружения перестаёт там разрешаться и вместо этого маршрутизируется к текущему окружению. Это делает переключение цели фиксированного RPC URL одним действием: создайте окружение-замену, назначьте ему то же имя, которое было у выводимого из эксплуатации, — и каждый скрипт, CI-пайплайн или конфигурация dapp, указывающие на этот URL, теперь разрешаются в новое окружение без каких-либо изменений с их стороны.

Задание имени через REST API

Передайте rpcName при создании окружения через эндпоинт создания окружения:
environment-create-named.sh
curl --request POST \
  --url https://api.tenderly.co/api/v1/account/me/project/project/environments \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --header "X-Access-Key: ${TENDERLY_ACCESS_KEY}" \
  --data '{
    "displayName": "My Staging Environment",
    "rpcName": "my-staging-rpc",
    "networkConfigs": [
      {
        "networkId": "1",
        "chainConfigOverrides": { "chainId": "1" },
        "blockNumber": "latest",
        "region": "eu",
        "explorerConfig": { "enabled": false, "contractVerificationVisibility": "bytecode" }
      }
    ]
  }'
Прочитайте окружение обратно через справочник REST API, чтобы получить разрешённые RPC URL:
curl --request GET \
  --url https://api.tenderly.co/api/public/v1/account/me/project/project/environments/{environmentId} \
  --header "X-Access-Key: ${TENDERLY_ACCESS_KEY}"
Массив active_instance.vnets[].rpcs содержит именованные Admin и Public RPC URL:
{
  "rpcs": [
    { "name": "Admin RPC", "url": "https://virtual.mainnet.eu.rpc.tenderly.co/tenderly/project/my-staging-rpc-800896" },
    { "name": "Public RPC", "url": "https://virtual.mainnet.eu.rpc.tenderly.co/tenderly/project/my-staging-rpc" }
  ]
}

См. также

  • Quickstart — полный процесс создания Virtual Environment.
  • Admin RPC — чит-коды, доступные в Admin RPC.
  • CI/CD с GitHub Actions — пайплайны, создающие и удаляющие окружения для каждого pull request.