首页
/ Fuel TypeScript SDK v0.101.0 版本发布:强化谓词与交易功能

Fuel TypeScript SDK v0.101.0 版本发布:强化谓词与交易功能

2025-05-31 18:37:40作者:咎岭娴Homer

Fuel TypeScript SDK 是一个为 Fuel 区块链生态系统提供 TypeScript 支持的开发工具包。它简化了与 Fuel 区块链交互的过程,使开发者能够轻松构建去中心化应用。本次发布的 v0.101.0 版本主要围绕谓词(Predicate)功能和交易处理进行了多项重要改进。

谓词功能的重大增强

谓词是 Fuel 区块链中的一种特殊智能合约,用于定义资金使用的条件。本次更新对谓词功能进行了两项关键改进:

  1. 强制谓词数据验证
    现在,当谓词定义了输入参数时,SDK 会强制要求开发者提供相应的数据。这一改变确保了类型安全,防止开发者意外创建无效的谓词实例。例如,对于一个需要 PIN 码参数的谓词,现在必须显式提供数据:

    // 旧版本(允许但不正确)
    const predicateNoData = new PredicatePin({ provider }) // 不再允许
    
    // 新版本(正确方式)
    const predicate = new PredicatePin({ provider, data: [100] }) // 必须提供数据
    
  2. 新增 setData 方法
    为谓词类新增了 setData 方法,使开发者能够更灵活地更新谓词实例的数据:

    const predicate = new PredicatePin({ provider, data: [100] })
    predicate.setData([200]) // 动态更新谓词数据
    

交易处理的优化

本次更新对交易处理流程进行了多项改进:

  1. 交易请求动态修改
    现在支持在 InvocationScope 使用过程中对 TransactionRequest 进行实时修改,为开发者提供了更大的灵活性:

    const scope = contract.functions.some_method()
    scope.transactionRequest.gasLimit = 5000 // 动态调整gas限制
    
  2. gasLimit 自动计算优化
    provider.assembleTx() 方法现在会考虑 reserveGas 参数来设置交易的 gasLimit,确保交易有足够的 gas 执行。

  3. 交易状态订阅优化
    当用户只等待预确认(Preconfirmation)状态时,SDK 会自动关闭订阅连接,避免资源浪费。

移除废弃API

移除了 BaseInvocationScope.getTransactionId() 方法,开发者现在需要通过更明确的方式获取交易ID:

// 新方式
const request = contract.functions.get_counter().fundWithRequiredCoins()
const chainId = await provider.getChainId()
const txId = request.getTransactionId(chainId)

升级建议

对于正在使用 Fuel TypeScript SDK 的开发者,建议:

  1. 检查项目中是否使用了无数据的谓词实例,确保为所有需要参数的谓词提供数据
  2. getTransactionId() 的调用替换为新方式
  3. 利用新的交易修改功能优化交易构建流程

这些改进使 SDK 更加健壮和易用,同时为开发者提供了更强大的功能来控制区块链交互的各个方面。

登录后查看全文
热门项目推荐
相关项目推荐

热门内容推荐

最新内容推荐

项目优选

收起
kernelkernel
deepin linux kernel
C
22
6
docsdocs
OpenHarmony documentation | OpenHarmony开发者文档
Dockerfile
154
1.98 K
nop-entropynop-entropy
Nop Platform 2.0是基于可逆计算理论实现的采用面向语言编程范式的新一代低代码开发平台,包含基于全新原理从零开始研发的GraphQL引擎、ORM引擎、工作流引擎、报表引擎、规则引擎、批处理引引擎等完整设计。nop-entropy是它的后端部分,采用java语言实现,可选择集成Spring框架或者Quarkus框架。中小企业可以免费商用
Java
8
0
HarmonyOS-ExamplesHarmonyOS-Examples
本仓将收集和展示仓颉鸿蒙应用示例代码,欢迎大家投稿,在仓颉鸿蒙社区展现你的妙趣设计!
Cangjie
405
387
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
941
555
金融AI编程实战金融AI编程实战
为非计算机科班出身 (例如财经类高校金融学院) 同学量身定制,新手友好,让学生以亲身实践开源开发的方式,学会使用计算机自动化自己的科研/创新工作。案例以量化投资为主线,涉及 Bash、Python、SQL、BI、AI 等全技术栈,培养面向未来的数智化人才 (如数据工程师、数据分析师、数据科学家、数据决策者、量化投资人)。
Python
75
70
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
992
395
ops-mathops-math
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
509
44
Cangjie-ExamplesCangjie-Examples
本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。
Cangjie
344
1.32 K
ohos_react_nativeohos_react_native
React Native鸿蒙化仓库
C++
194
279