欢迎光临散文网 会员登陆 & 注册

Sui Move Analyzer深入介绍分析 — — 体验全新的MOVE开发环境

2023-04-13 23:29 作者:Sui_Network  | 我要投稿


Move编程语言代表了智能合约语言的新一代,通过其安全性和高效性重新塑造了DApp开发的认知。Move的架构强调资源安全性和所有权,防止诸如使用后释放错误或资源泄漏等导致漏洞的问题。

概览

由于Move具有强大的语言特性,分析和开发Move变得复杂。原始的Move-Analyzer主要设计为在Visual Studio Code上为开发者提供IDE插件,用于分析和改进代码。其结合了静态分析和LSP技术,实现了诸如高亮显示、诊断、悬停等功能,满足了Move开发者的常见需求。然而,它还没有达到作为不可或缺工具的标准。其中一些功能存在缺陷,包括代码片段,自动完成和定义/依赖导航。

从根本上说,Move Analyzer仍然不完善的主要原因是缺乏对Move语义分析的支持,这是高质量IDE的基石。然而,这个特定方面的分析被证明是最困难和具有挑战性的工作。2023年1月24日,MoveBit获得了Sui基金会开发者资助计划中首轮Grant资助,并协助Sui Move生态开始了对Sui Move Analyzer的改进研发。经过长期的密集开发和测试,这是一次对于Sui Move Analyzer全面的升级,包括对原始功能、框架集成、性能优化等方面的改进!现在让我们深入了解新的分析器,揭示其秘密。

总体而言,我们的升级主要包括改进现有功能,并构建了Sui-Move的开发环境。您可以通过观看点击视频链接来了解如何在您的工作环境中安装和应用它,并大致的了解所有新功能:https://www.youtube.com/watch?v=79L0CrjLBUg

主要改进

修复和增强

通过对语义插件进行重构,我们重新设计了一些关键功能。我们不但进行了使用上的完善,并且还对其性能进行了优化。我们结合了语言服务器协议(Language Server Protocol)和TextMate两种底层工具,能够处理几乎所有语法结构。到目前为止,我们已经实现了以下功能:

[Go to definition]
导航功能是插件最常用也是最核心的部分。我们为所有的【use】和【friend】语句添加了支持。

[Hover]
原始的插件忽略了内建函数和规范函数,我们针对这个缺失添加了支持,并在会悬停时提供了详细的描述。

[Auto Completion]
我们在原有基础上进行了足够的扩展,现在它几乎支持所有的项,包括模块、变量、字段、类型等。

除了这些功能性的改进外,我们还对语义插件的代码进行了优化,提升了它的工作效率,同时还能更合理地分配内存,这对于插件的使用体验也是非常有帮助的。

Sui开发集成

对于开发者来说,只有语言特性上的功能并不足以建立一个高效的开发环境。为了提高生产力,对主流框架的支持也是必不可少的。我们也充分考虑了这个问题,并且将Sui 框架进行了集成,实现了许多常用而且至关重要的功能,包括:

【项目支持】
从零开始创建一个新项目并设置所有必需的文件和配置非常浪费时间。我们添加了一些功能,以便开发者从模板创建一个新的SUI框架项目。此外,我们还支持多项目开发功能。

【代码片段】
目前,我们在Sui框架中添加了一些常用的代码片段支持。例如,开发人员可以使用【init】快速生成初始函数。

【 集成Sui客户端 】
测试/构建是智能合约开发中极为重要的一环。我们的插件集成了Sui单元测试和Sui命令行工具。

除了这些功能性的改进外,我们还对语义插件的代码进行了优化,提升了它的工作效率,同时还能更合理地分配内存,这对于插件的使用体验也是非常有帮助的。

Move规范语言修改

Move规范语言(MSL)是Move Prover的核心,是 Move生态系统中的另一个重要角色。然而,在Move Analyzer中,它的功能相对来说不太完善。我们非常重视MSL,因此在这次更新中,重点添加了诸多对MSL 的必要支持,包括:

[Highlight]
MSL具有高度灵活的语法,我们根据不同情况为其外观设置了不同的高亮显示设置。

[Go to]
与Move语言中的操作类似,现在MSL也支持[go to definition]和[go to type definition]功能。

[Auto Completion]

我们已经在规范中为变量、语句等项目添加了常用的自动完成功能,并计划在将来进一步支持更多字段。

[Spec Template]
从零开始编写规范式会很繁琐,因此我们为特定函数和.move文件添加了一些实用的快速生成选项。

路线图

总的来说,我们的更新具备许多功能上的添加和优化,我们强烈建议开发者们进行下载和体验。我们真诚地希望这些更新能够让Move智能合约的开发更加高效、便捷和舒适。当然,我们的插件还有许多可以改进的空间。我们初步的制定了未来更新的路线图,并计划持续改进平台。这些改进包括:

[Move & MSL Formatting]
格式化功能对于任何语言都至关重要,但目前的插件并没有支持这个功能。我们计划在后续的开发中加入它。

[Move Prover Linter]
目前,插件对于Move Prover的支持仍处于初期阶段。我们计划重新设计linter,并增强MSL的错误报告和检测。

[Support More Framework]
我们认为Move是一个极具潜力的语言,显然其IDE和开发工具应该不断的支持更多主流框架,以便促进智能合约的开发。

结论

总的来说,在本文中,我们介绍了即将推出的Sui-Move-Analyzer并详细介绍了其中包含的许多令人兴奋的新功能。我们强烈建议开发者尽早尝试使用。借助它,您的开发体验将从根本上得到提升。然而,当然,尽管这些新功能经过了精心测试,但可能仍然存在一些问题。我们期待开发者对这些改进提供反馈,并将继续努力推动Move生态系统的发展!

➡️ Sui Move Analyzer下载链接:https://movebit.xyz/analyzer

关于MoveBit

MoveBit (莫比安全) 是一家专注于Move生态的区块链安全公司,通过率先使用形式化验证使Move生态成为最安全的Web3生态系统。MoveBit已经陆续与全球多家知名项目合作,并为合作伙伴提供了全方位的安全审计服务。MoveBit团队由学术界安全大牛和企业界安全领军人物组成,具有10年的安全经验,在NDSS、CCS等顶级国际安全学术会议上发表安全研究成果。并且他们是Move生态最早期的贡献者,与Move开发者共同制定安全Move 用的标准。

MoveBit社交媒体平台:

官方网址:https://www.movebit.xyz/

Twitter:https://twitter.com/MoveBit_

Medium:https://movebit.medium.com/

关于 Sui Network

Sui是基于第一原理重新设计和构建而成的L1公有链,旨在为创作者和开发者提供能够承载Web3中下一个十亿用户的开发平台。Sui上的应用基于Move智能合约语言,并具有水平可扩展性,让开发者能够快速且低成本支持广泛的应用开发。

官网:https://sui.io/

Twitter:https://twitter.com/SuiNetwork

Discord:https://discord.com/invite/sui

中文Medium:https://medium.com/sui-network-cn

中文电报群:https://t.me/Sui_Blockchain_Chinese 

Sui Move Analyzer深入介绍分析 — — 体验全新的MOVE开发环境的评论 (共 条)

分享到微博请遵守国家法律