Tenderly 是一个全栈 Web3 基础设施和开发平台,提供一套用于构建、测试、监控和分析 智能合约 的工具。它通过统一的界面为各种 EVM 兼容的 Layer 1 和 Layer 2 区块链 网络上的开发者提供解决方案。[1]
Tenderly 旨在加速和简化 智能合约 和 去中心化应用程序 (dApp) 的开发生命周期。该平台的核心目的是通过提供对交易执行、合约状态更改和故障根本原因的深入可见性,来解决原生区块链工具固有的局限性。这使开发者能够在链上提交交易之前模拟交易,逐步调试合约代码,并分析 gas 使用情况以优化性能。通过提供这些功能,Tenderly 旨在降低与链上开发和维护相关的成本和风险。
该平台的工具支持整个 dApp 堆栈,包括 智能合约、前端应用程序、后端服务和数据索引层。一个关键的价值主张是其多链功能,它在众多 区块链 环境中提供一致的开发和监控工作流程。这有助于团队识别已部署应用程序中的性能问题、运营风险和安全漏洞。Tenderly 还提供生产监控功能,包括实时警报和分析系统,以帮助团队跟踪其应用程序在部署后的行为。[2] [3]
Tenderly 的平台由多个集成产品组成,旨在支持整个 dApp 开发生命周期,从原型设计到生产监控。
虚拟测试网是模拟的 区块链 环境,旨在镜像实时网络,以用于 去中心化应用程序 开发的不同阶段。它们跟踪真实的网络状态,而无需使用真实资产,从而使开发者能够在受控环境中测试、暂存和调试 智能合约 和相关的应用程序组件。通过可视化界面和扩展的 JSON-RPC 层提供交互,从而可以完全控制网络行为,并支持跨 智能合约、前端应用程序、后端服务和数据索引层的开发。虚拟测试网还支持持续集成和部署工作流程,包括合约、接口和相关基础设施的自动测试和部署,以及用于手动测试、演示、审计和更广泛审查的暂存环境。
该系统通过允许团队 fork 虚拟测试网并以最小的干扰并行工作来支持协作开发。集成的 faucet 使帐户能够以任意数量的本地和 ERC-20 代币进行充值,而无需挖掘延迟。虚拟测试网包括内置的浏览器,可提供对网络活动的可见性,其中私有浏览器仅限于团队成员,公共浏览器可通过可共享的 URL 获得。这些浏览器允许检查交易、已部署的合约、受监控的钱包和 JSON-RPC 活动,并且可以根据需要配置或撤销公共访问权限。[2] [5] [7]
节点 RPC 是一种生产级远程过程调用服务,它提供对各种 区块链 网络的访问,而无需开发者运行自己的 节点。它通过标准 RPC 接口支持常见的 区块链 操作,例如发送交易、部署 智能合约 和查询链上数据。该服务跨多个地理区域运行以减少延迟,并且可以通过 HTTP 和 WebSocket 连接访问,支持请求批处理并与开发工具集成。
节点 RPC 包括扩展其功能的其他工具。浏览器内 RPC 请求构建器允许开发者直接执行和管理 RPC 调用,使用预定义或自定义的请求集合。该平台还支持节点扩展,这使得可以使用 JavaScript 或 TypeScript 创建自定义 RPC 方法,从而允许通过相同的 RPC 基础设施执行特定于应用程序的逻辑。[2] [8]
开发者浏览器是一个统一的多链界面,配备了一套工具,用于检查、分析和调试与受监控的智能合约和钱包关联的链上交易。它将交易活动聚合到一个视图中,从而可以进行深入检查。浏览器中的工具包括用于逐步代码执行跟踪的可视化调试器、按函数和操作码细分消耗的 gas 分析器,以及用于测试交易假设更改的模拟器。该浏览器还允许重放过去的交易,以针对修改后的代码验证修复。2025 年 6 月的更新将“读取”、“写入”和“模拟”功能直接集成到合约页面中,允许用户与合约交互并从单个界面预览结果。[9] [6]
交易模拟器是一种工具,用于预测 区块链 交易的结果,然后再将其提交到实时网络。它在虚拟环境中执行交易,该环境镜像目标 区块链 的最新状态,从而提供高度准确的结果。模拟输出包括精确的 gas 使用量、资产转移及其美元价值、余额更改、存储更新和完全解码的执行跟踪。
可以通过多种方法将模拟集成到 dApp 和钱包中,包括 REST API、专用模拟 RPC 端点或软件开发工具包 (SDK)。该系统支持单笔交易模拟和相互依赖的交易序列的捆绑模拟,这对于测试复杂的 DeFi 策略或治理提案非常有用。高级功能包括状态覆盖以模拟“假设”场景、准确的 gas 估算、访问列表生成以及人类可读的解码错误消息以简化调试。[2] [10]
Tenderly 沙盒是一个浏览器内集成开发环境 (IDE),用于快速原型设计和测试 Solidity 智能合约,而无需任何本地设置。它充当“智能合约 游乐场”,为 Solidity 和 JavaScript 提供基于 Web 的编辑器。每次执行都会将合约部署到具有预先充值帐户的新的、临时的和隔离的网络 fork,从而可以立即进行测试。沙盒工作区是 URL 可寻址的,使其易于共享以进行协作、演示或教育目的。在沙盒中生成的所有交易都可以直接在 Tenderly 的调试和分析工具(例如调试器和 Gas 分析器)中打开,以进行深入检查执行跟踪和状态更改。[4] [11]
Tenderly 提供一套工具,用于观察和响应已部署的 智能合约 在生产中的行为。该系统允许用户根据 12 种不同的链上触发器创建自定义警报,例如函数调用、发出的事件或成功和失败的交易。通知可以发送到各种目的地,包括 Slack、Telegram、PagerDuty 和自定义 Webhook。
该系统的一个关键组件是 Web3 操作,这是一种无服务器功能特性。它允许开发者编写 JavaScript 或 TypeScript 代码,这些代码会自动响应指定的链上事件而执行。这使得无需管理服务器基础设施即可创建实时监控系统、自动响应或后端逻辑。Web3 操作还包括一个集成的键值存储系统,用于持久化数据和安全地管理敏感凭据。[2]