跳转到主要内容
Virtual Environments 是私有的区块链环境,它们 fork 一条实时网络,并像您可控制的 Mainnet 一样运行。它们为您提供生产链的真实性(预言机价格、活跃的资金池、治理状态),同时没有成本或风险。您可以通过您的工具已经使用的相同 JSON-RPC 与它们交互,此外还有用于作弊码的增强型 Admin RPC,以及带有区块浏览器的可视化仪表板。
Virtual Environments 仅在付费计划中可用。要为您的账户启用它们,请联系我们的销售团队以安排通话并讨论升级您的计划。
Virtual Environment Home view showing the Integrate Virtual RPC section with Admin RPC and Public RPC endpoints, setup steps, Network Mirror, Bridge, and Contracts cards, and the attached network with chain IDs and block numbers

您可以用它们构建什么

  • 本地节点替代方案。 针对一个镜像 Mainnet 状态的网络,编码、测试和调试您 dapp 的每个部分(智能合约、dapp UI、后端、索引层)。
  • CI/CD 基础设施。 为每个 pull request 配置一个全新的 Virtual Environment,部署您的合约,运行测试,然后拆除它。GitHub Actions 指南介绍了这种模式。
  • Staging 与演示环境。 针对 fork 的 Mainnet 运行完整的 dapp,用于人工 QA、社区测试、合约审计或销售演示。审核人员看到的是真实的区块浏览器;您无需动用真实资金。
  • 跨链测试。 将多个网络附加到一个 Virtual Environment 上,端到端演练桥接流程。Multichain Quickstart 引导您完成设置。

Virtual Environments 与公共 testnet 相比如何?

Sepolia 和 Holesky 等公共 testnet 运行自己隔离的链状态,因此缺乏 Mainnet 的流动性、实时预言机价格以及您的 dapp 所依赖的已部署协议。Virtual Environment 则会 fork Mainnet(或 100+ 网络中的任意一个),因此您可以针对真实的生产状态进行测试,拥有永不枯竭的水龙头资金,以及对账户余额、区块号和时间的完全控制。与公共 testnet 不同,它对您的团队保持私有,并且可以按 pull request 创建和销毁。

从这里开始

Quickstart

启动您的第一个 Virtual Environment,为账户注资,并发送交易。

Multichain Quickstart

设置一个跨越多个网络的 Virtual Environment,并通过自动桥接中继运行一笔跨链交易。

网络同步模式

每个 Virtual Environment 都有一个网络同步模式,用于控制它在创建后与其父网络的关系:
  • Static(默认):Virtual Environment 停留在 fork 时的区块头,不接收来自父网络的实时更新。状态仅通过您自己的交易和作弊码进行变更。
  • State Only Sync:存储槽会持续跟踪父网络的实时值,直到您的 Virtual Environment 对其进行写入。参见 State Sync
  • Network Mirror:将父网络逐个区块地完整重放到您的 Virtual Environment 上,具有可见的内存池和时间控制。参见 Network Mirror Mode
同步模式在创建时固定,之后无论从仪表板还是 API 都无法更改。要使用其他模式,请创建一个新的 Virtual Environment。

构建模块

以下页面解释了 Virtual Environment 的每个部分做什么以及它们之间的关系。在您需要调试问题之前请先阅读它们。

Explorer

通过熟悉的区块浏览器 UI 检查您的 Virtual Environment 上的交易、合约、钱包和 RPC 调用。

Unlimited Faucet

为任意账户充值原生货币或 ERC-20 余额,无需真实资金。

State Sync

让存储槽持续跟踪实时 Mainnet 值,直到您的 Virtual Environment 对其进行写入。

Network Mirror Mode

与父网络逐块对齐,具有可见的内存池和时间控制。

Named RPC URLs

为环境的 RPC URL 附加一个固定的、人类可读的名称,使其在重新 fork 后仍然有效。

Multichain Virtual Environments

一个 Virtual Environment、多个网络、共享身份、统一时间线。

Bridges

Multichain Virtual Environment 中各网络之间 LayerZero、Chainlink CCIP 和 Across 的自动中继。

您如何与 Virtual Environment 交互

您可以通过四个界面驱动 Virtual Environment:
  • Tenderly Dashboard,在其中创建 Virtual Environment、浏览交易、为账户注资、针对环境的当前状态模拟交易,以及配置设置。
  • Public RPC,一个标准的 JSON-RPC 端点,支持任何 dapp 或库已经调用的方法。将其用于您的 dapp UI、后端以及您会向外部测试者公开的任何东西。
  • Admin RPC,一个增强型 JSON-RPC 端点,增加了用于设置余额、覆盖存储、快进时间、部署任意字节码以及与实时网络同步的作弊码。请在您的开发工具和测试中使用它,而不要在任何外部可访问的地方使用。完整的作弊码集合记录在 Admin RPC 参考中。
  • REST API,用于从脚本和 CI 流水线中创建、fork 和删除 Virtual Environments。参见 REST API 参考GitHub Actions 指南在 pull request 工作流中对其进行了封装。
当您与外部测试者共享 Virtual Environment 或通过 dapp UI 公开它时,请提供 Public RPC,而不是 Admin RPC。Admin RPC 允许调用方以可能破坏您测试的方式变更余额、存储、时间和其他网络状态。

常见任务

添加到钱包

将 MetaMask 或其他钱包连接到您的 Virtual Environment。

连接您的工具

将 Foundry、Hardhat、ethers、viem 或您的 dapp UI 指向您的 Virtual Environment RPC。

部署和验证合约

使用 Foundry 或 Hardhat 部署,并自动进行合约验证。

模拟交易

在发送之前,针对 Virtual Environment 的当前状态对交易进行试运行。

Fork Virtual Environment

将现有 Virtual Environment 在其当前状态下分支为新的 Virtual Environment。

回滚状态

创建快照并将 Virtual Environment 回滚到这些快照。

支持的网络

Virtual Environments 支持 100+ EVM 网络。完整列表请参见支持的网络

另请参阅