Прежде чем начать
Вам понадобится:- Аккаунт Tenderly с включёнными multichain-возможностями. Если вы не видите опции добавления нескольких сетей при создании Virtual Environment, свяжитесь с нами.
- Приватный ключ кошелька, который вы готовы использовать в тестовом окружении. Установите его как
PRIVATE_KEYв вашем шелле. - Установленный локально Foundry или Hardhat.
Пройдите туториал
В Tenderly Dashboard откройте Virtual Environments и начните новое. Ethereum mainnet предвыбран по умолчанию. Добавьте Arbitrum, Optimism и Base из списка сетей. Продакшен-цепочки идут первыми в списке, тестовые сети — внизу.
Сохраните Virtual Environment. Обратите внимание на слаг, который Tenderly ей присваивает. Слаг является частью каждого RPC URL, который вы будете использовать далее.
Откройте настройки Virtual Environment и включите Bridging. После включения Bridge Module отслеживает межцепочечные события во всех сетях Virtual Environment и автоматически ретранслирует их в целевую цепочку. См. Bridges — какие протоколы и сети он покрывает.
Foundry
foundry.toml
--verifier-url тот же самый RPC. Вы получите верифицированный контракт в панели сразу после завершения деплоя. Hardhat
hardhat.config.ts
Откройте Unlimited Faucet для вашей Virtual Environment и пополните адрес, с которого вы будете деплоить. Сделайте это в каждой сети, поскольку балансы ведутся отдельно для каждой сети. Для самого деплоя достаточно нативной валюты. Если ваши контракты перемещают токены, пополните и их.
После того как контракты задеплоены в каждой сети, отправьте межцепочечную транзакцию так, как вы делаете это обычно (например, вызов
send LayerZero). При включённом Bridge Module доставка на стороне назначения публикуется немедленно. Откройте панель Virtual Environment — вы должны увидеть обе транзакции, исходную и целевую, в единой шкале времени.Используйте фильтр Source/Destination в Bridges, чтобы явно подтвердить round-trip.
Что попробовать дальше
Теперь, когда туториал работает, вот как применить тот же подход к реальным рабочим процессам:Автоматизация развёртываний в CI
Деплойте в каждую сеть при каждом пуше, параллельно, с помощью GitHub Actions. Руководства по CI/CD показывают matrix-workflow и необходимые секреты.
Стейджинг фронтенда
Направьте ваш dApp на RPC Virtual Environment и предоставьте команде и ревьюерам окружение, отрабатывающее весь multichain-поток.
Создание Virtual Environments через API
Эндпоинт
multivnets создаёт Multichain Virtual Environment одним вызовом. Удобно для создания окружения под каждый PR.Тестирование сбоев моста
Ручное управление мостом позволяет детерминированно инсценировать нехватку газа, дублирующие доставки, изменённые payload и другие режимы отказа.