Gelato推出了Web3 Functions的更新,允许开发者通过链上事件触发来执行相应的操作,而无需像以前那样定期检查链上事件。这种新方法可以实现更低的延迟、更高的吞吐量和更强的鲁棒性,适用于Perpetual Protocol、Dynamic NFTs、Off-chain Data和On-chain Alerts等应用场景。
永远不要错过链上的任何事件!
通过这个新的 Web3 函数更新,开发者可以轻松地实时响应链上事件;
事件驱动的 Web3 函数检测智能合约事件的发生并立即响应以执行相应的操作。
以前,使用事件轮询的 Web3 函数以预定的间隔检查链上事件。 虽然这种方法具有一定的有效性,但效率低下,并且通常导致响应缓慢。 即使没有发出相关事件,系统也会不断检查。
随着最近在 Gelato 的 Web3 函数中引入了事件触发器,情况发生了重大变化。 系统不再依赖定期检查,而是在区块链上检测到特定事件后立即响应。
让我们比较一下这两种方法:
默认情况下,Gelato 的 Web3 函数以并行模式运行。 它们可以同时监听多个事件,并且每个检测到的事件都会触发一个单独的 Web3 函数运行。 专为链上活动激增而设计,它们每秒最多可处理 15 次运行。
事件触发的 Web3 函数带有强大的内置事件监听器。 这使开发者可以专注于应用程序开发,而不必担心错过事件、区块确认或重组。
借助这种新方法,Gelato 的 Web3 函数会在检测到事件后立即执行,从而消除了之前事件轮询中出现的延迟。
资源优化: Web3 函数仅在发生事件时运行,从而减少了不必要的运行并优化了计算成本。
具有事件触发器的 Gelato 的 Web3 函数为永续合约交易带来了变革性的变化。 现在可以即时响应诸如清算警报和保证金维护之类的关键事件。 交易员使用这些触发器来增强他们的策略,以获取实时价格警报并利用套利机会。
通过配置 Web3 函数以触发 NFT Mint 事件来启动具有 AI 生成艺术的动态 NFT。 之后,调用 AI 生成器并在链上显示 NFT。
通过配置 Web3 函数以触发智能合约请求事件,为你的智能合约查询链下数据。 然后,调用外部 API 并在链上中继获取的数据。
通过设置你的 Web3 函数以触发所需的智能合约事件来监视特定的链上操作。 通过 Webhooks 将通知发送到 Slack、Discord 甚至电子邮件之类的平台,并与 PagerDuty 或 OpsGenie 之类的警报系统集成。
通过 2 个简单的步骤实现事件驱动的 Web3 函数:
要启用事件驱动的 Web3 函数,请使用新的 Web3FunctionEventContext
替换传统的 Web3FunctionContext
。 这个新的上下文包含一个日志属性,该属性包含完整的事件日志,你可以对其进行解析和处理。
import { Interface } from "@ethersproject/abi";
import { Web3Function, Web3FunctionEventContext } from "@gelatonetwork/web3-functions-sdk";
const NFT_ABI = [\
"event Transfer(address indexed from, address indexed to, uint256 indexed tokenId)",\
];
Web3Function.onRun(async (context: Web3FunctionEventContext) => {
// Get event log from Web3FunctionEventContext
const { log } = context;
// Parse your event from ABI
const nft = new Interface(NFT_ABI);
const event = nft.parseLog(log);
// Handle event data
const { from, to, tokenId } = event.args;
console.log(`Transfer of NFT #${tokenId} from ${from} to ${to}`);
return { canExec: false, message: `Event processed ${log.transactionHash}` };
});
查看事件日志
瞧! 设置好任务后,你可以通过检查任务日志来监视其执行情况。 这些日志仅在发出你选择的链上事件时才会显示新的运行记录。
Gelato 是一个 Web3 云平台,使开发者能够创建自动化的、无 gas 的和链下感知的 Layer 2 链和智能合约。 400 多个 web3 项目多年来一直依赖 Gelato 来促进 DeFi、NFT 和游戏中的数百万笔交易。
Gelato RaaS: 一键部署你自己的量身定制的 ZK 或 OP L2 链,其中内置了原生账户抽象和所有 Gelato 中间件。
Web3 函数: 通过运行去中心化的云函数将你的智能合约连接到链下数据和计算。
自动化: 通过以可靠、对开发者友好和去中心化的方式自动执行交易来自动化你的智能合约。
Relay: 通过易于使用的 API 让你的用户可以访问可靠、强大且可扩展的无 gas 交易。
账户抽象 SDK: Gelato 已与 Safe 合作,构建了一个功能完善的账户抽象 SDK,结合了 Gelato 行业最佳的无 gas 交易功能和业界最安全的智能合约钱包。
订阅我们的新闻通讯并打开你的 Twitter 通知,以获取有关 Gelato 生态系统的最新更新! 如果你有兴趣成为 Gelato 团队的一员并构建互联网的未来,请浏览空缺职位并在此处申请 here。
- 原文链接: gelato.cloud/blog/real-t...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!