BLOG January 8, 2020
Neo月报 - 2019年12月
新年伊始,脚步不停。
回顾12月,除了 Neo-GUI 的开发稳步展开,Neo3 新治理模型的提案也已经准备完毕。同时,社区也就内置 Oracle 的投票提案达成了共识。NeoVM 也有了重大提升,如重新设计和简化操作代码,并将执行效率提升16倍以上。
虽然时逢佳节,海内外开发者社区前进的脚步并未放缓。NeoSPCC 推出了NeoFS 本地环境,neofs-local的全新版本;2019年加入 Neo 生态的开发者社区 Alienworks 则推出了 NeoNodes,一款采用轻量级架构并集合核心功能的 Neo 网络监控器系统。
市场活动方面,我们正在紧张地策划着 2020年的一系列活动,包括广受期待的 Neo DevCon 2020。敬请期待之后的更多消息。
核心开发进展
12月,我们关注于 Neo 的存储重构,以支持不同场景的需要,目前已支持 LevelDB 和 RocksDB, 也正在增加对 FASTER 的支持。同时,我们强化了合约安全性,增加对合约调用的权限限制。在 VM 上,我们正在重新设计指令集,目的在于增强合约的功能,减少合约过多的使用约束限制。主要增加了变量槽,对象引用计数器便于管理对象生命周期等。
-- NGD协议组负责人,卢川
Neo3
Neo library
- 添加了新的Syscall:System.Contract.CallEx,对调用合同进行限制;
- 将存储解耦作为抽象存储层,将LevelDB和RocksDB用作扩展模块;
- 更新序列化方法以支持最新的Neo-VM;
- 在JsonSerializer中添加base64以提高压缩率并节省存储空间和带宽;
- 在MerkleBlockPayload中增加限制;
- 将RET的价格设置为0;
- 修复含有错误dns锁定的计时器,并已调整种子列表的初始化方式;
- 修复在GetInvokeResult rpc方法中的问题。
NeoVM
- 重新设计和简化所有操作码,让语义更清晰,并增强部分操作功能;
- 增加用于静态字段、局部变量和参数的变量槽;
- 添加直观的引用计数以管理目标生命周期,取消对许多指令的执行限制,以提高执行效率至16倍以上;
- 添加功能指针,以允许开发人员运行枚举器和其他重要的智能合约功能;
- 添加原始和复合两种类型,以区分原始类型布尔,整数和字节数组与复合类型,映射和数组;
- 在ExecutionContext中添加扩展状态,并删除CallingScript。
Neo .NET开发者工具包
- 用github动作代替travis;
- 调整ABI的命名格式:骆驼命名法;
- 更新以支持最新Neo版本;
- 增加debug信息;
- 添加FeatureAttribute以防止在一个程序集中出现多个SmartContract错误;
- 允许neon使用源文件进行编译;
- 允许编译大的switch-case。
整理与升级
- 选择“N”作为Neo3所有地址中的首字母;
- Neo-cli和Neo-gui已合并为一个解决方案;
- neo-plugins存储库已重命名为neo-modules。
Neo2.x
-
在MerkleBlockPayload中增加限制。
NGD上海
12月,NGD 上海研发团队重点对 Neo3 开发进行提速,并努力提升 Neo3 的性能与稳定性。我们考虑在 Neo 上增加 StateRoot, 以确保状态的一致性。性能优化方面,我们通过不同环境中的测试,发现出块还不是很稳定,已在持续优化中。此外,我们也与社区一起对 Neo3 治理模型与互操作性进行了深入研究与讨论。
另外一个值得一提的进展来自 Neo-GUI, 我们针对前端技术栈与 Neo-GUI 的产品定位进行了许多讨论,并尝试了不同的解决方案。该项目目前已经在开发中。
-- NGD协议组负责人,卢川
Neo2.x
- 推行DAPI:已完成实施与对Teemo和Neoline等扩展的集成;
- PR测试:对核心Neo repo中的12个PR进行了集成冒烟测试(Smoke Test)。
Neo3
提议&讨论
- 完结Neo3治理模型提案;
- 与核心开发人员讨论后,同意内置预言机的投票提案;
- 提出在P2P层实现状态根的可行解决方案;
- 提出基于块索引的新块同步机制;
- 提出合约重定向,以避免智能合约迁移的存储迁移。
新功能
- Neo模块:添加RestServer插件,为Neo节点提供REST API;
- Neo3-GUI:完成原型设计,并开始进行UI/UX设计和推进;
- 互操作性:开始跨链集成,第一步将支持Neo3上的BTC和ETH跨链转换。
优化
- 通过优化7个共识节点网络的网络和持久层,提高TPS性能。
归档
- 完成RPC,Neo-CLI和C#SDK的归档,并根据Neo3开发进度进行更新。
NGD西雅图
Neo2.x
-
Neo Toolkit for .NET持续更新。1.0版本将在1月与大家见面。
Neo3
- Neo Toolkit for Neo3将于新年发布;
- Visual DevTracker、智能合约调试器和Visual Studio Code Marketplace上的工具包都迎来了了重要更新。
社区开发进展
12月,许多社区开发人员都专注于将 Neo3 支持集成到自己的项目中,做了许多技术支持与功能升级的工作。
COZ 完成了为 Neo3-python 准备的文档,将网络更改为 Neon-js 以匹配 Neo3 网络列表,并开始重构 Neon Wallet;neow3j 将其 Neo 3.x 分支设置为了默认开发分支;NeoResearch 正在调整 NeoCompiler Eco 以支持 Neo3;NEL 也对 Teemo-Neo3.0 进行了一系列更新。
在 Neo3 的其他进展中,NeoResearch 还为下一代 dBFT 设计了一个新的“取消阶段”;NeoSPCC 也在12月完成了许多工作,推出了 NeoFS,NeoFS CLI,NeoFS Proto,NeoFS DropIn,NeoFS HTTP 和 NeoFS Local 的新版本。NeoSPCC 还为 NeoGO 推出了一个新版本,该版本现已完全支持 dBFT 共识。
同时,NEXT 社区也在其 NeoLine 移动钱包中增加了一系列新功能,包括新闻栏,应用程序搜索功能以及指纹/ FaceID 集成。新加入 Neo 生态的 Alienworks 社区也在本月发布了 NeoNodes 产品。
Neo Saint Petersburg Competence Centre
Neo2.x
-
对Go和C#中的Neo节点实施基准压力测试基础结构工具(将在Neo 3.0中采用)。
Neo3
- 推进Oracle协议和区块链状态根的工作;
- 推进BLS共识节点原型,BLS基准与ecdsa签名验证。
NeoFS
- 进行NeoFS节点稳定性增强;
- 减少事件日志和对象处理中的内存消耗;
- 对象服务完全重构;
- 优化事件的处理流水线;
- 提高测试覆盖面;
- Neofs-proto更新以包含用于构建API的全套功能;
- 处理安全修复(来自Red4Sec)和网络服务更新;
- 发布支持NeoFS节点v0.2的NeoFS Local更新;
- Neofs-gorshok v0.0.5-用于获取NeoFS公共TestNet上信息的内部服务器;
- 已发布NeoFS Node v0.2.6;
- 已发布NeoFS CLI v0.2.3;
- 已发布NeoFS Proto v0.2.8;
- 已发布NeoFS DropIn v0.2.6;
- 已发布NeoFS HTTP v0.2.6。
NeoGO
- 已发布NeoGo v0.70.1.;
- NeoGo节点已完全支持dBFT共识;
- 提升dApp性能;
- 重构加密包;
- 实施getblocks P2P;
- 用于堆栈管理指令和VM操作码重构的VM优化;
- 添加对SYSCALL的哈希ID支持,并重新进行VM互操作初始化;
- 优化NeoGo节点性能,并增加Pprof指标;
- 已修复内存池锁定问题;
- 已实行智能合约中的多重return支持;
- 实施CHECKSIG并行基准。
论文发布
- 12月12日至13日,在俄罗斯圣彼得堡举行的“软件工程和计算机系统国际会议”上发表了两篇科学论文(SCOPUS):
- “具有动态拓扑的基于CRUSH的分布式存储的数据迁移率”;
- “多级集群中的一系列服务器及时为请求提供冗余服务的可能性”。
COZ
Neo3-python
- 完成归档的编辑和准备工作;
- 优化存储层并通过测试使其对开发人员更加友好,并与Neo3保持一致。
Neon-js
- 使用新的NeonObject模型,将智能合约模块匹配一致;
- 修复对Lint和测试的指令;
- 更新以在交易中使用HexString类;
- 将RPC功能整合到RPCClient中;
- 添加描述v5的变更日志;
- 更新网络以匹配Neo3网络列表(仅适用于Neo3)。
Neo-construct
-
与Moodle LMS建立概念验证的区块链集成,适用于具有通证奖励的在线学习门户。
Neo3-preview-tracker
-
常规bug修复
Neon-wallet
- 完成外在网络配置设置页面;
- 完成网络配置弹出框组建设置;
- 提升自动测试覆盖组件;
- 完成安全审计与npm安全漏洞修复;
- Dashboard页面完成小幅调整;
- 为了支持Neo3,在neon-js v5.0.0集成至Neon Wallet上取得了一些进展。
NeoResearch
Neo2.x
- NeoCompiler Eco已进行多次更新,服务器已升级为功能更强的基础架构;
- 进行有关dBFT 2.0和状态树运用的数学和理论证明研究。
Neo3
- 将NeoCompiler Eco进行调整以支持Neo3,并可能与CoZ的Neo3 Explorer Preview集成;
- 设计统计工具,以通过阻塞因子、模型验证和自动生成的对比图来使用ANOVA分析PR;
- 设计基于NeoCompiler Eco的新工具,该工具可自动为Neo的任何配置提供统计模型;
- 讨论和编写更多有关其他dBFT阶段(“取消阶段”)的细节,这将是针对下一代dBFT提出的核心变动之一,并基于博弈论的概念进行新的治理,以便于共识节点做出贡献;
- 推动在Github上关于实现智能合约隐私性的讨论,如匿名NEP-5和SciChain项目。
活动与合作
- 出席在巴西举行的区块链论坛,重点讨论了拥有可验证数据结构的重要性,该数据结构可抵御以前不知名的bug,并仍保持基本的不变性保证;
- 由于Neo通过dBFT 2.0共识对节点进行了有效控制,尤其是通过混合许可的公共访问账本集成为全公共账本,一些巴西政府机构对Neo技术有浓厚兴趣。
NEXT
NEOLine移动端
Android 端
- 发布最新版本1.3.0;
- 增加指纹识别功能;
- 增加资讯栏目, 包括中文快讯、社区版块;英文新闻、推特版块;
- 增加应用版块, 提供更多 NEO 系列 DApp;
- 增加应用搜索, 方便用户搜索现有应用以及搜索打开其他链接;
- 增加第三方应用跳转用户提示;
- 增加快讯、应用分享功能;
- 修复已知 BUG。
iOS 端
- 发布最新版本1.5.1
- 苹果增加 Face ID/ Touch ID 身份解锁功能
- 增加资讯栏目, 包括中文快讯、社区版块;英文新闻、推特版块;
- 增加应用版块, 提供更多 NEO 系列的 DApp;
- 增加应用搜索, 方便用户搜索现有应用以及搜索打开其他链接;
- 增加第三方应用跳转用户提示;
- 增加快讯、应用分享功能;
- 修复已知 BUG。
NEOLine钱包插件
- 规范钱包 dAPI 标准;
- 修复已经 BUG。
NeoTube浏览器
- 更新搜索栏搜索按钮;
- 移动端 UI 适配。
Forpay 资产托管系统
- 系统架构优化,稳定性提升;
- 增加对 BTC 资产的支持;
- 开放资产自定义冻结/解冻 API;
- 更新 API 接口文档,阅读更友好。
NewEconoLabs
Neo2.x
- 统计了2019年Neo上每日活跃地址数,每日创建地址数和每日累计创建地址数;
Neo3
- Neosdk:新增了访问本地节点和NEL节点的模块,可以通过调用SDK快速访问这些节点;
- 正在研究在Neo3测试网上发布合约的方法;
- Teemo-NEO3.0更新:
- 修复余额显示延迟问题;
- 修复交易确认的等待问题;
- 完善转账界面的异常信息的检测和显示;
- 完善交易确认页的等待状态的显示和异常信息的显示;
- 调整界面样式问题。
neow3j
Neo2.x
Neo3
更新
- 发布2.3.1版本。
活动
- 在瑞士东部应用科技大学拉珀斯维尔技术学院,向在座学生介绍Neo和neow3j。
Red4Sec
Neo2.x
- 完成Neo核心审计;
- 完成Neo-plugins审计。
Neo3
- 审查PR源代码安全性;
- 审查12月安全性渗透测试和未决漏洞。
新项目与更新
- 发起Neo员工安全意识运动;
- Neo Charts已匹配Neo新品牌风格。
Alienworks
Neo 网络监控系统
- neonodes.io产品上线;
- neonodes.io是一款使用轻量级架构的monitor,集合了最核心的monitor产品功能,之后会对外开源。
- StateOfNeo基本完成Mysql的测试和迁移工作,近期会重新上线;
- 目前对外开放了3个主网节点和3个测试网节点,具体请见neonodes.io。
Neo互动教程
- 内容
- C#: 完成前两个Lesson的编写;
- Typescript: 略为滞后,预计可以在1月底完成前两个lesson并开源。
- 测试
- 目前已经部署在服务器上联调,预计1月初上线预览版并进行内测。
市场活动
2019 年接近尾声,NGD 市场团队一直忙于筹备各种线上活动,如 Neo Live 和线上节日庆祝,旨在让社区用户同更多 Neo 生态内的项目进行积极互动。同时,团队也在为 2020 年初的一系列精彩活动做规划与准备,包括备受期待的第三届 Neo DevCon!
-- NGD市场部内容经理,杨嘉锡
线上活动
- 12月12,0xGames创始人Sergei Kopov参加海外Neo Live并介绍Neo版本的0xWarriors游戏;
- 12月19日,NeoLogin联合创始人Thijs Maas和Albert Acebron参加海外Neo Live,向所有Neo用户介绍NeoLogin的一站式登录解决方案,使其可以访问Neo生态中的任何游戏或dApp;
- 在线上发起圣诞节与元旦的一系列庆祝活动。
线下活动
-
12月21日,Neo与TomoChain在越南河内联合举办了名为“Embrace & Connect”的见面会和研讨会。NGD的生态发展部负责人王佳超简要介绍了Neo生态,随后各项目负责人展示了Neo生态中的dApp和游戏。