初二开年饭,Neo月报来啦|Neo月报
共 6323字,需浏览 13分钟
·
2021-02-14 01:25
![](https://filescdn.proginn.com/6aed55bcb96c0dcc71fa4a8831ad6d5a/dd7e0b9e73a78e530c77e035102f0a51.webp)
新年伊始,Neo就迎来了一个新的里程碑——Neo3 Preview5发布了。
作为Neo迄今为止最先进的版本,Neo3 Preview5通过新的Ledger Contract引入了进一步简化的架构,并首次通过Oracle服务模块支持Oracle的使用。
这个版本包含了原定Neo3最终版本的大部分新功能,并计划在3月份发布进行正式版本的测试网发布。目前亟待完成的主要任务之一是与NeoFS集成,这也是整个1月份的开发重点。
除了核心开发之外,Neo全球社区开发团队依然致力于使基础设施和工具与Neo3的更新相匹配。这对平台来说至关重要,它不仅可以提供核心的C#语言支持,还能通过成熟的开发工具为Python、JavaScript、TypeScript、Go和Java创建一个更容易访问的生态系统。
Neo的愿景,正在一步步坚定地成为现实。这也是核心开发者和社区开发者们共同努力的结果。下一代区块链开发者正在逐步登陆Neo,共同将Neo打造为“对用户和开发者最友好的区块链平台”。
以下是本月的完整月报:
协议开发
Neo3 进展
1月份,Neo核心开发团队完成了Oracle服务模块的开发。安装该模块后的Oracle节点,可以服务于Oracle请求。现在,Oracle合约和相关逻辑已经在Preview4中发布,开发人员可以开始测试以去中心化方式访问外部资源的智能合约了。
State root也是团队优先要完成的任务,它使用MPT来确保区块执行的一致性。作为Preview5节点升级的一部分,它引入了必要的存储和验证逻辑,并添加了与状态服务交互所需的RPC方法和命令。
1月份,Neo3还引入了新的逻辑,如新的原生合约Ledger Contract。Ledger Contract将存储代码块、交易信息等核心数据,同时替换各种数据库表从而进一步简化Neo3的代码。为了引入这个新合约,我们在2月份发布了Preview5,并计划在3月份发布一个正式版本的测试网。Prevoew5与正式版最大的区别是后者将对NeoFS进行集成。
更详细的信息可以在这里查看:
https://github.com/neo-project/neo/issues/2171
StateRoot
Neo3的state root实施主要分为三个部分。其中一部分(#431)关注存储逻辑和相关的P2P处理程序,而另一部分(#475)则引入了用于获取当前状态、验证证明等信息的RPC方法和命令。这两个部分都已成功合并,并作为Neo3 Preview5节点升级的一部分发布。
State root实施的最后一部分引入了必要的验证逻辑(#470)。目前,该PR将添加验证服务,以在state root上建立共识,并允许节点仅存储最新状态,以保持轻量级。
Oracle
1月份,核心开发团队完成了Oracle服务模块(#326)的开发,该模块负责使节点能够满足Oracle请求。在这个过程中,团队进行了各种优化和修复,初步测试效果良好。该模块的合并标志着Neo的原生Oracle功能已经完成。
NeoFS 移植
NeoFS是由Neo SPCC开发的一个分布式、去中心化的对象存储网络。NeoFS秉持着Neo的区块链集成化思路,提供给第三方使用,使用户可以完全控制其数据。该服务将与Neo智能合约集成,以服务真正的去中心化应用,或者用作内容交付网络。用户可以出租存储空间以换取GAS,或者使用GAS在网络中存储文件。
NeoFS最初是通过Go语言创建的,而NGD目前正在致力于将NeoFS逻辑移植到C#中,以改善其与C#节点的集成。在过去的一个月里,我们已经将审计模块添加到了FSNode插件中,并更新了内环的单元测试。与NeoFS的全面集成预计将在3月份完成,从而为正式测试网做好准备。
Ledger Contract
为了进一步简化Neo3的代码库,我们创建了新的原生合约Ledger Contract。该合约包含Ledger所有功能,如Block/Trimmed Block和Transaction等。这一新方法为协议提供了更加统一的设计,通过原生合约发挥作用,删除了800多行多余代码。
在测试期间我们发现,Ledger Contract的加入对性能的影响很小,所以我们将它被合并到了主分支中。而这些变化也会影响到其他PR,因此,我们为neo-node(#724)、neo modules(#477)和neo-devpack-dotnet(#440)创建了兼容PR。这三个模块目前已合并,初步的Ledger Contract实施已经完成。
其他基础设施影响
模块化是Neo3的开发过程中需要持续面对的议题,一月份也不例外。由于共识逻辑只被网络上所有完整节点的子集使用,所以我们决定将其从neo-core转移到一个新的插件dBFT module(#2212, #453)中。这不仅提高了组件未来的升级能力,还为用户提供了在自己的Neo网络中交换不同共识机制的能力。只有使用dBFT插件的节点才能在Neo3中运行共识逻辑。
团队还在1月份推出了一个新的Neo命名服务(#2201,#422)。这个新系统的目标是将用于合约/帐户地址的十六进制字符串替换为易于记忆的人类可读字符串。用户可以直接对某个域名进行交易,这比公开地址更方便使用。该服务以新的原生合约NameService实现。
其他值得注意的变化还包括插件拥有了发送自定义消息的能力(#2101),以及Neo系统中添加了一个新的操作码POPITEM(#387, #427)。这个操作码将从堆栈顶部的列表中删除指定的项,然后将该项推入堆栈。
基础设施与工具开发
月度看点
Flamingo
实现了两个里程碑——成功结束了Perp交易竞赛,并启动了FIP#2以重新设计了Flamingo的资产路径。
COZ
将Python和JavaScript工具与对Preview4的支持进行了匹配,优化了Neon wallet,并在Dora explorer中完成了Neo3支持的准备。
Neo Tracker
Preview4的编译器和客户端的开发有了一定进展——TypeScript开发者能够构建和部署Neo3智能合约了。
AxLabs
发布了neow3j 3.6.0和3.6.1,兼容Neo3 Preview4,并在瑞士比特币公司(BitcoinSuisse AG)的Crypto Outlook 2021报告中发表了一篇文章“Neo区块链:下一步是什么?”
NEXT
随着Neo3 Preview5的进展,开发了NeoLine和NeoTube,包括Neo3 dAPI的方案设计、投票和迁移。
Neo SPCC
与Preview4一起发布了NeoFS测试网和侧链节点,并实施了第一次HTTP gate对象放置。
Neo Research
为Neo3更新了NeoCompiler Eco,并由巴西机构CodeLabs重新进行了视觉设计,以改善开发体验。
NGD Enterprise
发布了Neo测试框架的初始版本,引入了业界领先的对测试驱动开发的支持,努力推动Neo成为对开发者最友好的区块链平台。
项目里程碑
● DeFi
来自 NGD 的 Flamingo
- https://flamingo.finance/
1月9日至22日,Flamingo吸引了来自世界各地的500多名社区成员参加Perp交易比赛。截止比赛结束,平均日交易超过1000笔,总交易额超过40亿美元。按照公告规定,比赛奖励分配给了排名前39位的参与者。在比赛期间,我们确定了几个需要改进的领域。并正在努力改进协议的底层机制和总体用户友好性。
月底,Flamingo团队还提出了FIP#2,以提高平台的整体可用性和资产互操作性。根据该提议,Flamingo将作出重大升级,以优化跨链资产路径,同时保持与原始资产的价值绑定。
● 节点
来自 NSPCC 社区的 NeoGo
- https://github.com/nspcc-dev/neo-go
1月份NeoGo的变化主要是调整节点以匹配核心的Neo更新。新增内容中值得关注的有POPITEM支持、共识更新和可扩展的P2P有效负载,以及CALLT及其相关的应用引擎变化。
● 浏览器
来自 COZ 社区的 Dora
- https://dora.coz.io/
1月份,COZ更新了Dora后端,使其与Preview5的最新变更——对流程中密钥清单和事件的支持——保持一致。面向用户的Neo3前端也已经开发完成,将在不久后发布。
来自 NEXT 社区的 NeoTube
- https://neotube.io/
NEXT完成了对Preview4的NeoTube 浏览器的调整。并随之重新设计了合约页面的UI,提供了页面数据显示问题的解决方案。
● 智能合约编译器
来自 COZ 社区的 Boa
- https://docs.coz.io/neo3/boa/index.html
Boa在一月份进行了一些更新。除了与最新的测试网版本保持一致之外,还添加了用户定义的密钥清单字段的支持,以及迭代器、枚举器和存储的新交互。除此之外,单元测试、测试驱动开发框架和文件编制也得到了增强。现在与Mamba相匹配的Python 3.7也得到了支持,ICO模板和原子交换契约示例也可以正式使用了。
● SDK
来自 COZ 社区的 neon-js
- https://docs.coz.io/neo3/neon-js
一月底,COZ发布了neon.com js v5.0.0-next。为最常用的区块链交互模式提供了兼容Neo3 Preview4的支持。
来自 COZ 社区的 Mamba
- https://github.com/CityOfZion/neo-mamba
COZ更新了Python的Mamba SDK以与Preview4版本相匹配,同时也开始着手与最新的Preview5相兼容。为了支持新的Neo3测试网版本,Blink Universal VM和BigInteger库也完成了相应的更新。
● 智能合约 & dApp 框架
来自 AxLabs 社区的 neow3j
- https://github.com/neow3j/neow3j
上个月,团队发布了neow3j 3.6.0和3.6.1,使得neow3j SDK、devpack和编译器与Neo3的预览版完全兼容。从那以后,团队一直致力于将neow3j与Neo3 Preview5相兼容,目标是使该项目达到和Neo生态系统中的C#智能合约工具一样的成熟度。
来自 NEO Tracker 社区的 NEO•ONE
- https://neo-one.io/
今年1月,团队致力于NEO•ONE v3.1版本的发布,该版本将与Preview 4兼容,且包含TypeScript智能合约编译器。在该版本中,用户可以用TypeScript编写智能合约,并将其部署到Neo3 Preview4中。
来自 NGO Enterprise 的Neo Blockchain Toolkit
-https://marketplace.visualstudio.com/items?itemName=ngd-seattle.neo-blockchain-toolkit
NGD Enterprise推出了兼容Preview4版本的Neo区块链工具包组件,并开始支持最新的Preview5版本。John还在Neo专栏中发表了一篇文章,介绍了测试驱动开发背后的概念,以及团队如何在工具包中支持这种方法。
● 钱包
来自 COZ 社区的 Neon
-https://neonwallet.com
Neon Wallet的开发者在1月份针对桌面钱包进行了诸多更新。团队引入了荷兰语支持,并调整了一些性能。该团队还纠正了SWTH通证的解析,并完成了新的设计迭代工作。Neon wallet的手机版现已进入审查阶段。
来自 NEXT 社区的 NeoLine
- https://neoline.io/
NEXT升级了NeoLine钱包的移动版本和Chrome扩展版本,实现了与Neo3 Preview4的兼容。团队还修复了一些已知的后台bug,并优化了应用程序的网络性能。
● 分布式存储
来自 Neo SPCC 社区的 NeoFS
- https://fs.neo.org
1月份,团队迎来了重要里程碑:NeoFS测试网发布,并已在Preview4中测试了它的侧链节点。其他值得关注的更新包括监控服务状态的控制服务、存储节点的网络视图和状态管理。Neo SPCC还增加了对多RPC端点的支持,并实现了数据审计结算,为下一个版本做准备。
其他更新包括存储节点的基本经济模型,以及存储节点的预配置docker映像,旨在加速测试网的部署。各种NeoFS服务的工作也在逐步完成,包括通过HTTP门户实施的一个对象放置草案。
● 研究
来自 Neo Research 社区的 NeoCompiler Eco
- https://neocompiler.io
今年1月,总部位于巴西的Neo Research团队成绩卓著。该团队推动了neocompiler网站的新设计,使其成为Neo3的新标准,并为旧的Neo2版本保留入口。该服务使用的节点都是与主分支同步的最新版本,其他幕后基础设施改进通过neo-cli统一了区块链交互,而不是使用第三方接口。
市场与运营
主要市场活动
生态发展