
Code Sample: Staging Contracts to Virtual Environment
REST API: Create and manage Virtual Environments
1
创建 Virtual Environment
2
创建一个新的 Virtual Environment 来暂存您的合约,方法为:
3
4
设置环境变量
5
要创建 Virtual Environment 并部署与验证合约,请设置以下环境变量:
6
TENDERLY_ACCOUNT_ID 为您的账户 IDTENDERLY_PROJECT 为您的项目 (slug)TENDERLY_ACCESS_KEY 为您生成的 access keyORIGINAL_NETWORK_ID 为您要作为 Virtual Environment 基础的网络 IDFOUNDRY_REPO 为 Foundry 仓库的路径DEPLOYER_ADDRESS 为您要从其部署的账户7
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=...
8
编写您的部署命令
9
编辑
deploy-command.sh 并添加部署合约的命令。注意您需要向 Foundry 或 Hardhat 项目添加验证;参见部署和验证合约。10
例如:
11
#!/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
12
暂存合约
13
运行以下命令,它们将:
14
$DEPLOYER_ADDRESS 注入测试 ETHfoundry.toml 以在您的自定义链上进行验证foundry.toml15
# 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
16
RPC 链接显示在输出中,您的合约会在 Virtual Environment 上部署和验证。
17
分享地址
18
收集已部署合约的 ABI 和地址,并将它们连同 Virtual Environment RPC 一起分发给您的团队。