我们的产品
2025年10月27日
6
阅读分钟数
深入解析 Tycho 智能合约开发的关键改进
Threaded Solidity(T-Sol)是 Tycho 区块链协议 中的智能合约语言,而 Locklift 则是构建、测试和管理该协议合约的核心工具链。在最近几个月里,Broxus 的开发人员对 T-Sol 和 Locklift 均推出了一系列重大更新,旨在引入新功能并解决重要的兼容性挑战。在本文中,我们将带您深入了解工程师所面临的技术难题、他们实施的解决方案,以及这些方案为 Tycho 智能合约开发带来的全新能力。
克服主要挑战
增强工作始于对 TVM Solidity 编译器(TVM Solidity Compiler)的更新。0.72.0 版本引入了新的核心组件“sold”工具,用于构建合约,它取代了之前的“solc”和“tvm_linker”工具集。不久之后,0.73.0 版本带来了一个新的 ABI(应用二进制接口)v2.4,其中包含许多重大破坏性变更。
这些破坏性变更带来了关键挑战,因为它们未得到 Locklift 和 Broxus SDK 的支持。这实际上阻止了开发者社区使用任何高于 0.72.0 的编译器版本(即 0.72.0 之后的版本),阻碍了他们获取后续功能和改进。
为解决此挑战,Broxus 发现自己面临多个潜在路径的十字路口:
基于较旧的、变更前的编译器版本维护一个替代分支。
迁移到相关 TON 区块链协议的工具链。
拥抱挑战,集成对这些破坏性变更的全面支持。
最终,工程师们选择了一种战略性的组合,采纳了第二种和第三种方案:他们承诺支持 ABI v2.4,同时构建一座通往并行生态的桥梁。该策略涉及利用 Tycho——一种高性能的、基于 DAG(有向无环图)的区块链协议,它同样源自最初的 TON 设计。为实现此目标,他们开发了 Tycho 的 TON Center 兼容 API 和 Tycho 模拟器(TON Sandbox 的 Tycho 执行器),使得能够在协议内部使用 TON 原生工具。这种双管齐下的方法,在不限制开发者工具选择的前提下,进一步推动了 Threaded Solidity 的改进。
Locklift 的新特性
更新后的 Locklift 包含了一系列强大的功能,旨在使 T-Sol 智能合约的构建和测试更高效、更直观:
全面支持最新的编译器版本。Locklift 现已完全兼容 TVM Solidity 编译器 0.72.0 及更高版本,并使用 “sold” 工具来实现现代合约构建。
与 Tycho 的集成。Locklift 现在使用 Tycho 虚拟机 (Tycho VM) 进行本地测试。这提供了一个与 Tycho 协议相一致的环境,使开发者能够提前体验到其核心所启用的功能。
增强的调试能力。通过对 tvm.log 的完全支持,调试变得更加容易,允许您在执行期间直接从智能合约中打印详细信息。
网络分叉 (Network Forking)。这是一项改变游戏规则的测试功能:现在可以创建任何一组智能合约及其状态的本地快照。这使得开发人员能够在逼真、隔离的环境中测试复杂的交互,而不会产生任何现实后果。
任意状态管理。为实现极致的测试灵活性,开发者现在可以为任何地址设置任意状态。这使用户能够模拟在真实网络上难以或不可能设置的边缘案例和复杂场景。
T-Sol 进展
伴随 Locklift 的发展,Threaded Solidity 本身也获得了重大的升级。
首先,引入了一个新的 “unpacked”(非打包)关键字。它为开发者提供了对从持久化合约存储(寄存器 C4)解包到临时内存(寄存器 C7)的变量生命周期的精细控制。对于具有许多状态变量但其中一些很少被使用的合约而言,这可以带来显著的 Gas 节省。
其次,该语言现在具备创建和使用库(Library)的能力。这些库是部署到主链(masterchain)中的代码或数据的不可变单元。例如,TIP-3(可替代代币标准)集合的精度(decimals)和名称可以存储在数据库中,允许任何合约通过引用该库的哈希值来按需加载这些数据。
另一项更改是增加了一个额外的警告机制:当一个动作生成于带有标志 128(一个最终化标志,常用于发送全部剩余余额)的动作之后时,系统会发出警告。这有助于防止进一步的动作被意外丢弃的逻辑错误。
最后,T-Sol 现在包含明确的外部消息处理机制。为了创建更清晰、更可预测的代码,处理外部消息的运行时不再是默认生成的。相反,您现在必须显式使用 “ExternalMessage” 属性来在合约中启用它。
Locklift 和 T-Sol 中的这些进步,直接体现了我们致力于为 Tycho 开发者社区提供最佳工具的承诺。总体而言,这些新功能有望解锁新的可能性,并简化下一代去中心化应用的开发工作。

