回望机遇与挑战并存的2020年|Neo月报
又是一年岁末时。回顾过去的一年,Neo社区取得了傲人的成绩。在2020年,我们面临前所未有的挑战,全球疫情迫使着每个人重新规划工作与生活。我们做出了许多改变,也形成了许多新常态。
在社区的共同努力下,Neo在2020年取得许多成果,并强势步入2021年。三个新的Neo3预览版本已于2020年发布,其中功能最完整、性能最优异的Preview4版本也已于12月正式发布。
Neo全球社区开发团队也在2020年不懈努力,几乎所有主要的基础设施和工具项目都实现了与Neo3 Preview4的兼容。
通过Neo3,我们正在齐心协力地为Neo和数字经济的下一次演进打下基础,这也是我们社区凝聚力的体现。这项工作将在2021年上半年完成,我们期待为在Neo上构建应用程序的开发者们带来良好的体验。
以下是本月的完整月报:
协议开发
Neo3 进展
在上个月我们发布了Neo3的Preview4 版本,包含了新的经济模型、补充了部分委员会相关的治理逻辑、并引入了Oracle服务,以允许智能合约获取外部信息。该版本还引入了一个新的通证标准,NEP-17,并进行一些优化和修复。NGD已于2020年12月22日针对该版本进行测试网升级。
此外,我们也正在将state root的逻辑从neo-core迁移到neo-modules,并继续开发Oracle插件,目前一切进度均按计划进行。
由于未完成的和新出现的工作量,我们决定在近期推出Preview5版本,该版本将包含Neo3的绝大部分设计和逻辑。目前我们已经完成了Preview5任务列表中大部分的内容。
最新的Preview4 进展可以在这里查看:https://github.com/neo-project/neo/issues/1936
StateRoot
Neo3
我们打算将state root的逻辑从neo-core迁移到neo-modules中的一个新的插件,state service插件,因此关闭了PR #1996,并提交了一些新的PR。#414将代替 #1996,提供在本地仅保存最新状态的支持。我们还在继续从多方面优化state root的底层逻辑,分别包含审查、指令&RPC请求、P2P信息等等。
Neo2.x
由于目前需要集中开发Neo3,我们目前决定关闭关于重构MPT的PR #1878。一旦开发资源允许,我们可能会在未来重开这个PR。
Oracle
在过去的一个月里,我们为了准备Preview 5的相关测试对Oracle进行了一系列优化和改进(PR #326),包括用ConcurrentDictionary代替HashsetCache、避免多次启动、优化CheckOracleAccount,等等。
其他基础设施影响
在12月,团队对Neo3的智能合约系统进行了改进,例如创建ManagementContract(#2119),一个新的原生合约,负责管理所有合约。Contract.Create、Contract.Update和Contract.Destroy成为了原生合约的方法,而ContractState和ContractIdState则变成了原生合约的存储入口。该合约还允许通过ActiveBlockIndex字段将原生合约部署到任何块中。
其次,团队还优化了修改合约后原始哈希的持久性,对合约升级和基础设施的维护进行了简化(#2044),并设置了一个新的最低部署费用10 GAS,用来规范部署和抵御垃圾邮件#2140, #2153)。
使用Preview4的开发人员还将开发一套可调节opcode/互操作价格的新机制。所有价格将乘以一个杠杆,该杠杆可以被委员会成员按需调节。这一逻辑可以促进智能合约的应用。(#2045)。
此外,团队新增了CALLT操作码,它允许使用新的MethodToken(#2185)调用NeoVM(#382)中的特定Token逻辑,并简化了迭代器API(#2190)。核心开发人员还在12月添加了NonfungibleToken,一个新的原生合约基类。该原生合约将用于NNS (Neo Name Service)。NNS允许注册指定别名,用来指代通证(#2177)。
最后,团队还升级了从.NET 3.0到.NET 5.0的所有代码库,这是框架的最新主版(#2083, #396, #681, #407)。
基础设施与工具开发
月度看点
Flamingo
完成了项目治理过渡的第一步——关于使用nNEO中GAS的Flamingo治理提案的社区投票。
COZ
发布了两个兼容 Preview4的SDK:Mamba和Neon.js,以及一个Python NEP-17示例,并将Neo3集成到Dora中进行测试。
Neo Tracker
发布了NEO•ONE v3的第一个alpha版本,与Neo3 Preview3几乎完全兼容。
AxLabs
根据Preview4中的最新变化,持续更新SDK、编译器和开发包。
NEXT
根据最新发布的 Neo3 Preview 4,对NeoLine 和 Neotube 进行产品更新与调整。
根据开发者社区会议中的进度沟通与规划,设计并制定 Neo3 dAPI、投票、迁移以及与 Neo2 网络在钱包共存的方案。
Neo SPCC
完成了对NeoGo的Preview4兼容性的调整,并最终补完了NeoFS中的CDN组件和一个新的存储引擎。
Red4Sec
为钱包添加了比特币支持,更新了API服务以提供BTC和ETH资产价格,并访问了基于以太坊的dApps。
NGD Enterprise
推出了兼容Preview4的Neo区块链工具包组件版本,并发布了一个新的合约测试框架。
项目里程碑
● DeFi
来自 NGD 的 Flamingo
- https://flamingo.finance/
Flamingo团队在12月提出了第一个Flamingo的改进方案(FIP),同意由社区决定是否使用nNEO产生的GAS作为对 Perp交易比赛的奖励。虽然该提案没有通过,但它成为了Flamingo项目治理转型的一个里程碑。在社区讨论出更合适的分配方法后,将提出其他提案。
● 节点
来自 NSPCC 的 NeoGo
- https://github.com/nspcc-dev/neo-go
在12月中,Neo SPCC在Go节点上完成了与Neo3 Preview4的兼容,并在Preview4测试网上进行了正确性测试。该团队还实现了提议的P2P公证请求负载,并更新了Neo-bench,从而对Preview4的更新进行了性能测试。
● 浏览器
来自 COZ 的 Dora
- https://dora.coz.io/
Dora在12月迎来了对Neo3的支持,目前在代码审计阶段。该团队还通过添加一些新特性,进一步完善了Neoscan API,比如基于社区反馈的存储状态更改。
来自 NEXT 的 NeoTube
- https://neotube.io/
在12月,NEXT完成了对NeoTube浏览器的调整,使其与Preview4兼容。除了修改协议之外,该团队还花时间修复了界面的一些问题——尤其是在移动设备上浏览网站时出现的一些问题。
● 智能合约编译器
来自 COZ 的 Boa
- https://docs.coz.io/neo3/boa/index.html
Boa v0.6.1于去年12月发布,与Preview4兼容。新版本还实现了Union类型注释,并为字节数组值添加了扩展方法,以及其他一些修正。COZ还包括一个NEP-17示例,为希望为Neo3编写合约的Python开发人员提供了一个有用的入口。
● SDK
来自 AxLabs 的 neow3j
- https://github.com/neow3j/neow3j
AxLabs在12月继续专注于SDK和开发包,使它们与最新的Preview4变化保持一致。为管理合约和合约部署更改、新的操作码定价模型、新的系统调用和其他更新添加了新的支持。
来自 COZ 的 Mamba
- https://github.com/CityOfZion/neo-mamba
COZ还推出了面向性能的Python SDK新版本。最新的Mamba版本v0.4.1将链同步速度提高了4倍,超过了c#核心客户端neo-cli。在底层,Mamba使用了团队的c++ VM实现,它也与Preview4和SDK一致。
来自 COZ 的 neon-js
- https://docs.coz.io/neo3/neon-js
COZ更新了neon.com js库,兼容Preview4,现在正在进行最后的审查。新版本next-5旨在促进dApp集成。
● 智能合约 & dApp 框架
来自 NEO Tracker 的 NEO•ONE
- https://neo-one.io/
Neo Tracker团队在去年12月发布了Neo•ONE v3.0.1-preview3,这是一个具有里程碑意义的版本,几乎与Neo3 Preview3完全兼容。这个团队的主要任务是开发TypeScript智能合约编译器,这是一个大工程,预计将在1月底与preview3兼容。之后,团队将继续在NEO•ONE节点和客户端中测试其与Preview4的兼容性,并最终再次访问编译器。
来自 NGO Enterprise 的Neo Blockchain Toolkit
-https://marketplace.visualstudio.com/items?itemName=ngd-seattle.neo-blockchain-toolkit
去年12月,NGD Enterprise推出了首款兼容preview4的智能合约调试器、Neo Express和Visual DevTracker,帮助开发人员掌握最新的Neo3协议变化。
该团队还进行了创新,引入了新的智能合约测试框架,从而有助于在区块链中推行测试驱动的开发理念。新的工具使得私有区块链的创建、合约的部署和测试的执行可以自动化进行。
● 钱包
来自 COZ 的 Neon
-https://neonwallet.com
12月,COZ完成了桌面版本的Neon v3设计,并添加了对SWTH合约的整数返回类型的支持。Neon手机版本的开发也在继续,目前正在测试中。
来自 NEXT 的 NeoLine
- https://neoline.io/
NeoLine也在12月进行了手机和chrome扩展版本的更新。该团队实现了对Preview4的支持,更新了钱包,使其能够与Neo2网络共存。Chrome版本也进行了bug修复,以解决在Neo2上重复推送消息的问题。此外,NEXT还开始了为Neo3 dAPI、投票和迁移功能制定计划。
来自 O3 Labs 的O3 Wallet
-https://o3.network/
该团队在12月正式发布了比特币钱包,在桌面版本中添加了一个多链结构,其中包括对Neo3 Preview3的支持。API服务的数据接口和通知功能已经完成。还进行了包括BTC、ETH和ERC-20通证的价格提要等其他更新,并引入了对基于以太坊的dApps的支持。
● 分布式存储
来自 Neo SPCC 的 NeoFS
- https://fs.neo.org
在12月里,Neo SPCC继续优化NeoFS,完善了元数据和blob的新存储引擎,并通过自动分割改进了对大型对象的支持。最新的修改还带来了对Preview4的全面支持,并引入了数据审计流程以防止存储节点玩弄系统。
其他组件也进行了更新从而与这些改动保持一致,包括NeoFS合约、守护进程和API。该API在12月经历了两次迭代——第一次是2.1.0版本的“Modo”,对API进行了调整,以适应新的存储引擎变化;第二次是2.2.0版本的“Yeouido”,增加了对数据审计功能的支持。
Neo SPCC还开发了所有CDN组件,目前正在集成中。CDN SDK、API、dev-env全部升级。该团队还更新了与Preview4兼容的NeoFS DevEnv,以供开发人员测试。
市场与运营
随着Neo3测试网正式发布的临近,市场部门会持续在线上线下活动中推广Neo3的全新功能和组件。Neo3 Preview4发布后,我们在Neo的官方Telegram频道主持了一系列NeoLive,主题包含诸如Poly Network,NeoFS和Neo3的新治理和经济模式等。12月下旬,达鸿飞出席了在三亚举办的国际区块链技术创新峰会,并发表了题为“ Neo3:务实理想主义者新起点”的主题演讲,系统地强调了Neo3的新特性和后续值得关注的焦点。为了庆祝圣诞节,团队在社交媒体上准备了特别的NFT寻宝游戏。寻宝活动的获胜者获得了限量版NFT:NeoFastPass(NFP)。NFP的持有者可以将其保留为NFT藏品的一部分,或将其兑换成Neo官方商品和其他特权。有关如何兑换NFT的更多信息将在稍后披露,更多NFP代币(总供应量500)将奖励给后续活动的参与者。
—— Adam Yang(NGD市场部)
主要市场活动
生态发展