写点什么

Neo 生态技术月报 | 助力开发者玩转智能合约

作者:TinTinLand
  • 2022 年 5 月 19 日
  • 本文字数:2573 字

    阅读完需:约 8 分钟


由 TinTinLand 与 Neo 共同出品的「Neo 技术月报」,将定期汇总整理 Neo 生态各个领域的技术进展、技术修改预发布、重要产品/技术提交、技术社区和生态建设、技术资料参考文档等相关技术内容,旨在帮助大家快速了解 Neo 生态项目的最新技术情况。本篇为第一期月报,请关注 Neo 的开发者们查收!

01


关于 Neo


Neo 由 Da Hongfei 和 Erik Zhan 于 2014 年在中国创立,并于 2017 年 6 月正式更名为 Neo。Neo 旨在通过使用智能合约实现数字资产管理的自动化,建立一个分布式网络下的智能经济系统。此外,Neo 的突出优势在于其高便利度与低门槛性,它支持所有主流语言的编程,包括 C#,Java,Go,Python 和 TypeScript 来编写、编译和部署智能合约,这条友好程度极高的公链已成为开发者的最优选择之一。


02


月度更新亮点


Neo 核心开发向新的里程碑——Neo-CLI v3.2.0 稳步迈进

该版本所做的更新包括一些错误的修复、C# 编译器的增强和一些新增功能等。原生 CryptoLib 合约有了新的补充:Murmur 散列函数的实现 —— 当需要没有加密保证的散列时,这会是一个兼具效率和性价比的选择。


N3 测试网的 TPS 限制将得到大幅提高

越来越多的 dApp 部署在网络上后依旧确保交易可以得到高效、及时的处理。


NGD Enterprise 新发布调试器预览版

该预览版从多方面增强 Neo 区块链工具包的调试体验,尤其是存储视图的变化。使用兼容编译器(目前只有 C#)的开发者将能够用类型信息装饰他们的代码,这些信息将在编译期间在标准调试信息文件中发出。Neo 调试器利用这些数据来优化合约存储和运行时价值类型的概览,使开发者在调试执行时能轻松地将合约数据可视化。


Neo SPCC 社区进一步改进开发者体验

对 Go 节点/ SDK 实现和 NeoFS 客户端进行优化。在前者中,开发者发现了一个新的合约绑定生成器,能够通过 Go 快速与自定义合约进行交互,而后者则在用户体验方面被做了大量的改进和错误修复。


本月,有几个生态项目接受了 Red4Sec 社区的安全审查,包括 NeoFS、Flamingo 合约和 AxLabs 倡导的全新 DAO 项目 GrantShares。


03


协议修改与发布

——Neo 核心


Neo 编译器 C#更新,支持最新 C#10 语法

C# 智能合约的核心编译器更新,增加了对与 .NET 6.0 一起引入的新命名空间语法支持。此外,改进了编译器中的合约命名选项(现在是-base-name),修复了一个在运行时产生异常的路径错误。


N3 测试网吞吐量限制增加 10 倍

在下一个版本,单区块交易量限制将从 512 增加到 5000。这将使网络的吞吐能力从每秒 34 次提高到 333 次以上,使节点只需 10 个区块就能完全清空 50,000 个交易的记忆库。DBFT 插件的配置也做了相应的修改,以适应新的最高系统费用和区块大小。


原生 CryptoLib 合约中加入 Murmur32 哈希函数

原生合约加密库中添加了对 Murmur 非加密哈希函数的支持,为开发者引入一个在需要高效哈希时能在链上使用的新工具。该函数比 SHA256 更有 GAS 效率,使其成为一个不需要保证加密安全的(抗逆转)哈希查询的好选择。


针对核心 Neo 插件模块问题完成的错误修复

团队在对 N3 测试网进行研究后,通过对 RpcServer 和 ApplicationLogs 插件的结果堆栈大小的新限制,以及对 TokenTracker 模块的 GAS 限制,防止了 JSON 处理过程中引起的内存不足问题。这些限制可以在适当的配置文件中进行调整。此外,还解决了 Oracle 服务中的原生信息泄漏问题。


04


基础设施和工具开发

功能组件升级

1. AxLabs

增加了实例类的结构注解和继承支持,以及 SDK 中新的实用方法

2. Neo SPCC 

实现 Go 的合约绑定生成器,并对 NeoFS 组件进行了各种改进

3. NGD Enterprise

发布最新的 Neo 调试器预览版,并对存储模式进行了改进

4. NEXT

在 N3 NeoLine 扩展钱包中增添申领 GAS 的按钮,并修复几个错误

5. Red4Sec

完成对 GrantShares、NeoFS 的合约审计,以及对近期 Flamingo Finance 所做修改的审查


05


项目里程碑

重要节点

来自 Neo SPCC 的 NeoGo 

三月,neo-go v0.98.2 发布了,为旧版 MPT 状态数据增加了垃圾收集功能,并达成了对 Windows 的完全支持。此次更新包括编译器的增强,合约绑定生成器,以及其他各种改进。


在新版本中,团队还用对 Go v1.18 的支持取代了对 Go v1.15 的支持。除了修复错误外,还花了大量时间开发模糊测试和重构内部测试,以便更广泛地使用 neotest。


智能合约编译器 SDK

来自 AxLabs 的 neow3j 

三月,AxLabs 社区发布了 neow3j v3.16.0。新版本的改进包括 instanceOf 关键字支持的新类型,创建合约组和检索无符号事务的实用方法,以及对结构继承的支持,还有其他改进和错误修复等。


智能合约 & dApp 框架

来自 NGD Enterprise 的 Neo Blockchain Toolkit  

三月,NGD Enterprise 发布新的 N3 调试器预览版,主要更新是存储视图,键/值字节流被解码为高阶类型,以提高其可读性和易用性。用于 C# 的 Neo 智能合约编译器也做了相应的更新,一旦其他语言的编译器跟进,N3 生态系统中的所有合约开发者都将能够从新的调试器增强功能中受益。


此外,该团队还在 Neo-CLI v3.2.0 兼容的 Neo 区块链工具包方面取得了进展,预计将在 Neo-CLI v3.2.0 上线前完成相关工作。


钱包

来自 NEXT 的 NeoLine 

NEXT 社区的 NeoLine 钱包浏览器版本在本月进行了多项升级。包括新增的直接申领 GAS 的按钮,dAPI 提示逻辑优化,缓存调整,以及错误修复等。


NeoFS

来自 Neo SPCC 社区的 NeoFS 

Neo SPCC 社区在过去的一个月里对 NeoFS 进行多次升级,最终完成了四个模块的更新:

neofs-contract v0.15.0、neofs-node v0.27.6、neofs-http-gw v.0.19.0 和 neofs-s3-gw v0.19.0


合约更新提高了 GAS 效率,并增加了 netmap 合约中可存储的网络地图的数量。节点更新主要集中在错误修复上,而 v0.28 预览版则添加了新功能。S3 网关添加了对通知配置、放置策略覆盖和其他相关改进的支持,HTTP 网关完成了错误修复,并增加了对对象属性中空格的支持。


neofs-cli 的用户体验得到了改进,比如下载/上传的进度条和创建承载通证的新命令等。此外,Neo SPCC 还致力于开发 RESTful API 原型和改进 S3 Authmate 的用户体验。


代码审查

来自 Red4Sec 社区的代码审查

Red4Sec 团队完成了对 GrantShares 堆栈的代码审查、NeoFS 的环境测试和对最近 Flamingo 所做修改的审查。团队已经开始着手研究 PayProxy 项目的解决方案。


若想了解更多有关 Neo 的最新消息,可前往 Neo 官网:neo.org

以上就是本期 Neo 技术月报的全部内容啦,想了解更多关于 Neo 生态的最新资讯,请持续关注 TinTinLand!

用户头像

TinTinLand

关注

还未添加个人签名 2022.01.14 加入

TinTin 是赋能下一代开发者的技术社区,通过聚集、培育、输送开发者到各开放网络,共同定义并构建未来。

评论

发布
暂无评论
Neo 生态技术月报 | 助力开发者玩转智能合约_区块链_TinTinLand_InfoQ写作社区