三分钟读懂 Aptos 开源只读函数模拟器 ——Sentio Composer

Aptos Global2022-12-08 12:00

Sentio Composer 是由 Web3 观测平台 Sentio 推出的 Aptos 链的视图函数模拟器,目前已经宣布开源,本文 Aptos Global 将与你一起了解 Sentio Composer 诞生的背景、演示方式以及实现细节。



Sentio 是由谷歌、Linkedin、微软和 TikTok 的资深工程师创建的多链开发的 Web3 观测平台,通过低代码解决方案从现有的智能合约数据中生成指标、日志和跟踪,可用于构建仪表板、设置警报、分析用户行为、创建 API/ webhook 等。 

自 Aptos 主网于 10 月推出以来,Sentio 在与 Aptos 诸多生态合作伙伴合作过程中发现缺少一种简单的方法来模拟针对函数的只读调用,特别是针对历史版本。为了能使 Aptos 的开发人员能够轻松地查询任何历史版本的只读函数,Sentio 决定构建一个库来解决这个痛点,并在 Apache 许可下开源整个项目。

Github Repo

https://github.com/sentioxyz/sentio-composer

Web 演示

http://composer.sentio.xyz/

通过网络演示,开发者可以试用该功能,但是演示实例不是用于生产使用的,如果您有兴趣使用 Sentio Composer 作为托管服务,可以通过以下方式联系官方:

https://forms.gle/wKRVX529JarmDauG8

实现细节

Sentio Composer 基于 Move VM 实现,内置 Aptos 原生功能。它会根据输入的函数 ID 查询本地缓存或 Aptos 区块链中所属的模块,然后将得到的字节码传递给 Move 虚拟机。然后, Move VM 执行上述功能。

在函数执行过程中,VM 还会查询其依赖项和资源。Sentio Composer 通过 Aptos REST API 从 Aptos 区块中查询这些数据。第一次调用时函数执行可能需要一段时间,因为模块没有被缓存。当函数执行完成后,从 VM 返回值中收集执行结果。整个过程如下图所示:

虽然原则上该工具可以在 Aptos 上执行任何函数,但我们鼓励只使用视图函数,因为 1) 调用非视图函数所预期的任何副作用显然不会在区块链上生效,2) 工具本身不会返回副作用的结果。

虽然原则上该工具可用于在 Aptos 上执行任何功能,但我们鼓励仅限于查看功能的使用,因为 1) 调用非查看功能所预期的任何副作用显然不会在区块链上生效 和 2) 工具本身不会返回副作用的结果。

支持的参数类型

CLI 将字符串格式的参数作为视图函数的参数。支持以下参数类型:

bool literals (true, false)

integer literals (e.g., 10, 58)

address literals (e.g., 0x12, 0x0000000000000000000000000000000f)

u8 vector, bytes string representation (e.g., foo)

API 规范

正是有源源不断的开发者为 Aptos 技术提出解决和革新方案,Aptos 才会发展的越来越好,如果您也在 Aptos 的代码库做出创新设计,欢迎联系 Aptos Global 进行报道!

推荐阅读

Aptos 周报:实现法币直接购买 $APT,AptosGlobal 合作伙伴 BlockEden 已为过百项目服务
Aptos 与韩国顶级游戏工作室合作,如何重新定义 Web3 游戏的玩家体验?
Momentum Safe—— Aptos 链上第一个多签钱包
Aptos 宣布启动主网,如何打造一个为数十亿人服务的区块链?

关注 Aptos Global

发现 Web3 时代新机遇

公众号后台回复“1” 加入 Aptos 官方社群

【免责声明】市场有风险,投资需谨慎。本文不构成投资建议,用户应考虑本文中的任何意见、观点或结论是否符合其特定状况。据此投资,责任自负。

来源链接

相关Wiki

相关标签