
Пример кода: стейджинг контрактов в Virtual Environment
REST API: создание и управление Virtual Environments
Чтобы создать Virtual Environment и затем задеплоить и верифицировать контракты, настройте следующие переменные окружения:
TENDERLY_ACCOUNT_ID — ваш account IDTENDERLY_PROJECT — ваш project (slug)TENDERLY_ACCESS_KEY — сгенерированный вами access keyORIGINAL_NETWORK_ID — ID сети, на основе которой вы хотите создать Virtual EnvironmentFOUNDRY_REPO — путь к репозиторию FoundryDEPLOYER_ADDRESS — аккаунт, с которого вы деплоитеexport TENDERLY_ACCOUNT_ID=<USERNAME>
export TENDERLY_PROJECT=<PROJECT>
export TENDERLY_ACCESS_KEY=<ACCESS_KEY>
## TestNet Configuration
export TENDERLY_TESTNET_NAME=staging
export PURPOSE=development
export ORIGINAL_NETWORK_ID=1
export BLOCK_NUMBER=latest
## Custom Chain ID (Prefixed with 7357 - test)
export CHAIN_ID=7357$ORIGINAL_NETWORK_ID
## Public explorer verification visibility
## abi | full | none
export VERIFICATION_VISIBILITY=abi
# Foundry Repo (Absolute path only!)
export FOUNDRY_REPO=<ABSOLUTE PATH TO FOUNDRY PROJECT>
## Deployer address
export DEPLOYER_ADDRESS=...
## Custom stuff needed for deployment scripts
## Add your custom stuff here
export ADMIN_ADDRESS=...
Отредактируйте
deploy-command.sh и добавьте команды для деплоя ваших контрактов. Обратите внимание, что вам придётся добавить верификацию в ваш проект Foundry или Hardhat; см. Деплой и верификация контрактов.#!/bin/bash
cd $FOUNDRY_REPO
## TODO: Your deployment command here:
MAX_SEGMENT_COUNT=3
FOUNDRY_PROFILE=optimized \
forge script script/DeployCore.s.sol \
--broadcast \
--rpc-url $TENDERLY_VIRTUAL_TESTNET_RPC \
--sig "run(address)" \
--verify \
--verifier-url $VERIFICATION_URL \
$ADMIN_ADDRESS
$DEPLOYER_ADDRESS тестовым ETH с помощью Infinite faucetfoundry.toml Foundry для верификации на вашей кастомной цепочкеfoundry.toml# create a testnet - or paste the Unlocked TestNet RPC URL
source src/contracts-staging/.env
cd src/contracts-staging
## Create a fresh testnet
export VIRTUAL_NETWORK_RPC_URL=$(./create-testnet.sh)
echo "Created a Virtual Environment at ${VIRTUAL_NETWORK_RPC_URL}"
### run the deployment
./deploy-to-testnet.sh
RPC-ссылка отображается в выводе, а ваши контракты задеплоены и верифицированы на Virtual Environment.