Skip to main content

使用 Web3 Actions 需要付费套餐吗?


是的。Web3 Actions 在付费套餐中提供。要为您的账户启用此功能,请联系我们的销售团队以安排通话并商讨升级方案。

并行执行与顺序执行有什么区别?


在配置 Web3 Action 时,您可以在两种执行模式之间选择。当有多个被触发的 Web3 Action(例如来自同一区块的交易)时,这两种模式的行为如下:
  • 顺序(sequential):执行会遵循触发发生的顺序;在触发 N-1 完成之前,触发 N 会等待执行。执行顺序有保证。
  • 并行(parallel):所有触发都会被提交执行,执行顺序无法保证。
sequential 与 parallel 之间的选择仅适用于 blocktransaction 触发。periodicwebhook 触发始终以并行方式运行,无论 execution_type 如何设置。在持续高负载下,严格顺序是尽力而为的:如果某个顺序执行的 action 持续落后于其触发器,Tenderly 可能会将其切换为并行执行以赶上进度,并在切换时通过邮件通知您。两者适用不同的速率限制

WRITE、COPY ON WRITE 和 EMPTY 存储类型有什么区别?


  • Write:这是默认选择的类型。它始终用于自动触发器,会将数据写入 主存储。请注意,此类型可能覆盖主存储中的数据。
    • Copy on write:此类型会创建主存储的副本作为临时存储。可用于 手动触发器。触发器停止运行后,写入临时存储的所有内容都不会 被保留。
    • Empty:此类型会创建临时的空存储。可用于手动触发器。empty 存储类型对主存储没有任何引用。触发器停止运行后,写入到该类型存储中的所有内容 都会消失。

在 Web3 Actions 中使用的合约需要经过验证吗?


是的,在 Web3 Action 触发器中使用的合约需要经过验证并添加到您在 Tenderly 上的项目中。 否则,CLI 将抛出错误。在此了解更多关于触发器及其工作原理的信息。

每个项目允许的 Web3 Actions 数量是多少?


您可以运行的 Web3 Actions 数量取决于您的方案容量。请联系我们的销售团队,讨论您的项目所需的容量。

存储限制是多少?


Storage 允许每个项目最多 1,000 个键,键最大 1 KB,值最大 100 KB。超出限制会返回 400 Bad Request 错误,并指出违反的具体限制。参见 Storage 限制

可以提高 Web3 Actions 的存储限制吗?


每个值 100 KB 的限制是底层存储引擎的硬性限制,无法提高。如果单个条目需要更多空间,请将其拆分到多个键中,或保存在外部数据库中并将其凭据存储在 Secrets 中。如果您接近每个项目 1,000 个键的限制,请联系 support@tenderly.co

Web3 Action 项目的大小限制是多少?


当您使用 CLI 创建 Web3 Action 时,整个 NPM 项目将被压缩并上传到 Tenderly。 包含 node_modules 在内的压缩包最大大小为 40 MB

Web3 Actions 的执行超时是多少?


执行默认限制为 30 秒,超时后将被终止。如需更长时间,请通过 support@tenderly.co 联系我们的支持团队讨论您的使用场景。延长的时间限制仅适用于并行 actions;顺序执行保持 30 秒的限制。获取更多关于执行状态类型的信息

我有一个 tenderly.yaml 文件,其中包含两个具有相同触发器(某个合约事件)的 Web3 Actions。清单文件中先声明的 Action 是否总是会先于第二个被调用?


两个具有相同触发器的独立 Web3 Actions 会并行执行,因为它们是彼此隔离且互不知晓 的实体。

Web3 Actions 运行时中提供了哪些库?


以下库可用:
  • Ethers.js
  • Bignumber.js
  • Axios
  • Luxon
了解更多 →

Web3 Actions 如何与区块链数据交互?


Web3 Actions 可以通过读取区块、交易和日志与区块链数据交互,从而实现智能合约监控。 示例:
了解更多 →

Web3 Actions 可用的触发器类型有哪些?


Web3 Actions 支持四种触发器类型,这些触发器定义了何时应执行该 Action:
  • Block:由区块链上的新区块触发,非常适合区块级监控。
  • Transaction:由特定的区块链交易触发,可实现监控和自定义响应。
  • Webhook:由传入的 HTTP 请求触发,使 Web3 Actions 可以充当 dapp 或其他服务的后端。
  • 周期性(CRON):以特定时间间隔运行,自动化重复性任务。示例:
了解更多 →

如何部署 Web3 Actions?


Web3 Actions 可以通过 Tenderly Dashboard 或使用 CLI 进行部署。CLI 提供了更高级的配置选项。Actions 及其触发器在 tenderly.yaml 文件中配置;deploy 命令不接受任何标志:
了解更多 →

Web3 Actions 如何处理错误?


Web3 Actions 中的错误会被记录,并可在 Tenderly Dashboard 中查看。失败的 Action 可以重新执行以进行进一步调试。了解更多 →

我的 Web3 Action 失败了,为什么没有收到邮件?


只有在创建新事件时才会发送失败邮件:即某个错误在当前版本的 Action 上通过触发器运行首次出现时。请检查以下几点:
  • 同一错误的重复出现会归入现有事件,在该事件于 Error Reporting 中被解决之前不会再发送邮件。
  • 手动运行和重新运行无论结果如何,都不会发送失败邮件或创建事件。
  • TIMED_OUTRATE_LIMITEDTU_QUOTA_REACHED 结束的执行不会发送失败邮件。
  • 目标邮箱必须在 Action 的 Destinations 部分完成验证并处于开启状态。
了解更多 →

Web3 Actions 的速率限制是多少?


速率限制按 action 单独计算:顺序 actions 为每 5 分钟 400 次执行,并行 actions 为每 5 分钟 2000 次执行,可根据报价自定义。了解更多 →

我收到了 “action reached a rate limit” 邮件。这是什么意思?


该 action 的触发频率超过了其单个 action 的执行速率限制。超出限制的执行已被跳过:它们在执行历史中显示为 RATE_LIMITED 且不会重试。此通知是批量发送的,每个 action 每 24 小时最多收到一封此类邮件。如果您的工作负载需要更高的速率,请联系 support@tenderly.co

Web3 Actions 中的键值存储是什么?


键值存储允许 Web3 Actions 在多次执行之间持久化状态和数据。对于 API 密钥等敏感信息,请改用 secrets。 示例:
了解更多 →

Web3 Actions 有哪些常见使用场景?


常见的使用场景包括监控区块链交易、自动化任务,以及为 dapp 构建 webhook 后端。了解更多 →

Web3 Actions 可以在本地测试吗?


可以,使用 @tenderly/actions-test npm 包,Web3 Actions 可以在本地进行测试。通过 npm install --save-dev @tenderly/actions-test 安装,然后通过 TestRuntime 执行您的 action 函数:
了解更多 →

Web3 Actions 支持哪些编程语言?


Web3 Actions 使用 JavaScript 或 TypeScript 编写。 示例:

如何在 Web3 Actions 中管理密钥?


您可以使用密钥管理功能安全地存储和检索敏感数据,例如 API 密钥。 示例:
了解更多 →

Web3 Actions 可以与外部 API 交互吗?


可以,您可以使用 Axios 等库进行 HTTP 请求,从而与外部 API 交互。 示例:
了解更多 →

Web3 Actions 中模拟的用途是什么?


Web3 Actions 可以运行交易模拟,在广播交易之前测试和验证结果。 示例:
了解更多 →

Tenderly 如何处理 Web3 Actions 的日志?


Tenderly 会记录每一次 Web3 Actions 的执行。日志可在 Tenderly Dashboard 上访问和查看,以便进行调试。