BLOG July 10, 2020
Neo 月报 - 2020年6月
6月,最重磅的新闻当属Neo与微软、埃森哲、SDX 与 Digital Asset 一同创立了InterWork Alliance (IWA),并成为该联盟的创始董事会成员。IWA 将与各行业领导者共同开发并推广具备广泛适用性的区块链标准,并致力于加速区块链创新、促进区块链技术在主流商业场景中的落地。
另一个值得关注的进展是Neo在6月初完成了Neo2测试网neo-cli v2.10.3-neox-preview1版本的升级,增加状态根功能与对Secp256k1曲线的支持。这两项重要的更新标志着Neo的跨链功能已经完备。
Neo生态系统也在6月带来诸多好消息。去中心化交易所Switcheo与Nash双双实现交易量新突破;NeoLine、O3、Moonlight等项目也都迎来值得期待的新升级。
详细内容,欢迎阅读本月月报。
协议开发
上个月,我们开始推进State Root功能相关的代码合并,并完成了新索引同步方法的集成工作。通过允许节点按索引请求区块而不是需要同步每个区块头,新机制极大地提高了区块同步的速度。
另一方面,经过多次深入讨论,核心开发者们已经对Neo3经济模型的设计方案有了一个初步的实施框架,现正在对其进行代码审查。
Neo3
neo-core
- 添加插件描述
- 添加 base64互操作方法
- 添加UTF8字符串限制
- 添加事件名在System.Runtime.Notify方法上
- 添加每个区块最大系统费限制
- 添加RIPEMD160互操作方法
- 添加MPT
- 添加StateRoot跨链同步时的验证
- 更新StorageContext上下文
- 允许Buffer作为迭代器遍历
- 更新Neo.VM.3.0.0-CI002230
- 允许Native合约访问外部合约
- 限制notifications, 使其不能修改状态
- 添加Callback互操作方法
- 更新Neo.VM.3.0.0-CI0026
- 将对合约的所有public方法,默认添加一个返回值
- 检查Json.Serialize方法对Map时,只支持ByteString类型
- 检查合约的返回值类型
- 重构Native合约
- 优化交易属性
- 检查合约方法的参数
- 采用区块高度进行同步区块
- 重构互操作方法
- 优化P2P消息传输
- 交换内存池交易
- 修复DataCache.Find漏洞
- 修复合约事件描述
- 修复合约返回值检查
- 修复方法回调
- 修复策略的权限检查
- PR测试覆盖率达到63%
neo-vm
- 支持互操作方法抛出可捕获的异常
- 修改类型转换
- 移除对栈的返回值个数检查
- 移除内部的Pop方法,用TryPop替代,并允许抛出异常
- 添加VM类型的深拷贝
- 移除栈的返回值个数RVCount
- 修复JSON UT
- 修复Equal和GetHashCode方法
neo-node
- 更新neo-core库
- 添加nativecontract指令
- 支持json钱包
- 添加插件描述,以及移除SystemLog插件
- 移除StackItem.ToParameter方法
- 添加插件描述的显示
- 更新neo-core库
- 添加 最大验证人数和最大委员会人数在配置文件中
- 移除SystemLog插件,并在neo-cli添加日志功能
- 修复VM执行结果的返回值处理
- 修复转发交易
neo-modules
- 更新到Neo.VM.3.0.0-CI00958
- 修改JSON文件的版本号名称
- 移除SystemLog插件
- 添加将VM的类型转成JSON字符串
- 添加插件描述
- 添加Issue模板
- 添加getunclaimedgas RPC方法
- 修复转发交易
neo-devpack-dotnet
- 添加Hash256, hash160, RIPEMD160方法
- 添加switch对Integer类型支持
- 添加switch对string类型支持
- 编译时自动引入当前文件夹
- 更新NEO/GAS Policy的hash
- 添加函数指针
- 修复返回值
- 修复C#类型与NeoVM类型转换
- 修复迭代器
- 修复callback的参数
- 修复异常
Neo2.x
- 修复neox-2.x state root的同步
- 修复neox-2.x state root的检查
基础设施与工具开发
六月期间,Neo各社区开发团队继续专注在基础架构的更新上,以适配Neo3 Preivew2的特性与更改。NGD 西雅图推出了与Neo3 Preview2兼容的Neo Express和Smart Contract Debugger,而Neo SPCC的NeoGo方案现在也完全兼容Neo3测试网上C#节点存储的变化。COZ发布了针对Neo3的neon-js SDK的公共预览版本、Neo3 Python编译器的内部版本以及neoscan的新设计。一项新的通用VM方案也正在开发中。
许多社区也在为新加入的Neo大家庭的开发者提供许多支持,例如改进代码库和开发指南。neow3j就为使用Java或Kotlin的开发者提供了Neo2和Neo3上的开发案例; Alienworks也完成了两个交互式合约教程课程的Python版本。
NGD 西雅图
- 在GitHub上发布了兼容Neo3 Preview2的Neo Express和智能合约调试器。
- 为Visual Token Designer预览版本的发布做准备。
- NGD西雅图负责人John deVadoss担任IWA工具指导委员会主席。
Neo Saint Petersburg Competence Centre
NeoFS
- 根据Neo的侧链合约,将NeoFS转换为新的Inner Ring原型。
- 实施了基本的NeoFS ID适配器; 一切已准备就绪,可与NeoID或其他身份提供者集成以进行密钥同步; 下一步是设计可行的同步解决方案。
- 已实现扩展的ACL支持。
- 已完成承载通证(eACL)。
- 存储引擎原型-已实施新的MetaBase。
- 添加存储统计信息和指标(监控改进,容器空间统计等)。
- 已发布将JSON格式的eACL编译为protobuf二进制格式的其他工具。
- NeoFS节点版本:v0.8.1,v0.9.0
- API版本:v1.1.0
- NeoFS Golang API版本:v1.1.0
- NeoFS CLI版本:v0.8.1,v0.8.2,v0.9.0
NeoFS 服务
- 为fs.neo.org添加多语言支持。
- 新的开发环境已经完成并实施。
- 新的CI和自动化测试已实施。
NeoGo
- NeoGo测试网共识节点已通过neox支持进行更新。
- Neo3的RPC调整已完成。
- Neo3的互操作调整已完成。
- neox-2.x分支已合并到master-2.x。
- NeoGo 0.76.0已在neox支持下发布。
- NeoGo已针对Neo3 Preview2测试网进行了测试,现可以与C#节点的存储更改兼容。
- neox文档已编写。
- neo-debugger支持已更新为Neo3 Preview 2支持。
COZ
Neoscan
- 新设计的所有页面均已完成,已经在内部发行。
- 完成CI / CD集成。
- 开发环境已经转移至Staging。
- 完成移动设备适配。
- 添加新的API增强功能。
- 完成域映射。
Neon.js
- 发布Neo3的预览版SDK。
- 完成Neo3的初始文档和示例。
Universal VM
- 实施Python绑定和测试。
- 完成BigInteger集成和相关测试。
- 已确认一个清晰的跨平台分发解决方案。
- 在互操作层上执行工作。
Neo-Python
- 实施CI / CD跨平台工作流程。
- 进行本地合约支持方面的工作。
Boa
- 在内部发布Neo3版本。
- Neo2的修补程序版本,修复ABI文件中的脚本哈希问题。
- 针对一系列类增加支持。
- 实施CI / CD工作流程。
- 自动生成方法。
NeoResearch
neo-cpp-core
- 嵌入钱包功能。
- 即将完成兼容Neo3的NEP-6标准。
- 已添加AES加密并与OpenSSL集成。
- 修改了椭圆曲线的其他密码运算,并改进了测试。
- 已将该模型迁移至支持Python的MILP新工具。
- dBFT 2.0已完成迁移,并通过一些集成工具和Google Colab Python项目进行了技术测试。
- 为拟议的dBFT 3.0设计了一个新的加速公式。在大多数情况下,如果有两个议长提出建议,则不需要额外的共识阶段。
论文发表
- 即将以论文形式提交该dBFT报告。
- 正在撰写另一片涉及MILP模型的论文。
NEO-ONE
NEO•ONE
- 在进行系统性评估后放弃在NEO•ONE中使用Neo C#节点的计划。
- 开始在NEO•ONE中使用Neo C#VM或COZ C ++ VM进行Neo3升级。
- 修复NEO•ONE设置中带有`createClient()`函数的竞争条件问题。
- 为新的“neo-one compile”命令添加端到端测试,以增加测试覆盖率。
- 更新NEO•ONE默认网络选项,以在testnet.neotracker.io上包括新的实时NEO•ONE TestNet节点。
- 消除NEO Tracker与NEO•ONE的依赖关系,因此用户将始终在NEO•ONE中拥有最新版本的NEO Tracker。
- 添加有关使用NEO•ONE部署智能合约的文档。
- 增加对AVM输出和Neo Toolkit调试格式的初始支持。
NEO Tracker
- 系统评估后放弃在NEO Tracker中使用Neo C#节点的计划。
- 修复RPX 通证无限加载问题。
- 修复NEO Tracker停机问题,现在的正常运行时间为100%。
Red4Sec
Neo-resilience
- 对该产品在Neo3中出现的向下支持问题进行改进,包括钱包格式、leveldb的使用以及内部类等。
代码文档
- neo3.code-doc.com已更新至最新版本。
代码安全
- PR的源代码安全性已审查。
- 完成6月安全性渗透测试和开放漏洞审查和报告。
NEXT
NeoLine 移动端
- Android 端:最新版本2.4.1
- 增加NFT支持(交易、交易记录、NFT列表等)。
- 重构 API 请求,包括数据结构与请求方式等。
- 增强用户体验,修复部分会造成闪退的问题。
- 代码重构持续进行中。
- iOS 端:最新版本2.4.1
- 增加NFT支持(交易、交易记录、NFT列表等)。
- 优化应用模块渲染机制。
- 代码重构持续进行中。
NeoLine 服务端
- 调整 NFT 接口。
- 调整活动计划逻辑。
- 修复已知问题。
- 项目重构持续进行中。
Neotube 区块浏览器
- 调整部分 NFT 接口。
- 增加 NFT 交易标识。
NewEconoLabs
NEL浏览器
- 新增Neo主网查看合约页面,可以查看所有已部署在主网上的合约列表,列表信息包括合约哈希、部署时间、合约名及作者。
- 修复了有过升级历史的合约的新老合约都会显示在合约列表页的问题。
NeoRay
- 对新建合约文件增加标准写法实例。当用户创建C#合约文件时,现在会打开一个标准合约模板而非空白文件。
- 新增对合约试运行结果的调试功能。对已部署的合约进行试运行后,会在输出口看到调试按钮,点击可以对此次试运行结果进行调试。
- 优化了合约代码编写过程中的语法提示。现在会提示一些合约的常用字段。
- 优化了debug模块中堆栈信息显示的方式,通过数据模型的绑定,使堆栈信息,按数据结构实时更新,避免更新堆栈信息时,找不到堆栈模块的问题。
- 修复合约编译后,合约信息显示错误的问题。
其他
- 重新编译部署了NELSwap,修改默认模块的显示功能,修复了NELSwap交易模块支付部分余额显示异常的问题。
- 更新维护部分底层服务以适配Neo节点更新。
neow3j
Neo3 适配
- 完成JSON RPC集成测试。
- 实施NEP-9 URI包装器类。
- 重构帐户和钱包。
- 检查Jackson注释用于反序列化子类的可行性。
- 重组Java示例。
- 为Neo3编写Kotlin示例。
neow3j-devpack & neow3j-compiler
- 实施NEF和清单文件的生成。
- 实施method-local变量的存储和加载。
- 对syscall和操作码注释方法实施方法调用。
- 实施对运行时系统调用的支持。
- 实施对存储系统调用的支持。
- 实施对自定义集合类的支持(例如Iterator)。
Alienworks
监控器
- neonodes.io
- 添加散点图和热图图以显示节点的异常状态。
- 修复内存池列表bug,并为事务哈希添加“复制到剪贴板”功能。
- 向哈希列表和异常列表添加分页和升级样式。
- 添加复制功能,并将用户界面样式升级到内存池页面。
- 在API矩阵页面中添加ID列和滚动条。
- 重构工具提示并添加到统计页面。
- neostate.io
- 完成第一个版本的Redis服务以优化初始化性能。
- 对Redis服务的ConsensusRewards、Transactions.LastActiveAddresses、ActiveAddresses、BlockTimes、BlockSizes进行测试。
教学
- 为Lesson01和Lesson02添加智能合约Alienfinder.py。
- 已完成L01和L02(中英文)的python版本。
- 重构所有课程的章节编号。
- 升级alien形象。
- 准备发布Alpha版本。
市场与运营
Neo在六月初宣布作为五大发起成员之一创立InterWork Alliance(IWA),携手包括微软、埃森哲、IBM、SDX、纳斯达克与瑞银等在内的各行业领导者共同开发与推广具备广泛适用性的区块链标准。IWA旨在搭建企业与开发者之间的桥梁。一方面,IWA将为企业提供基于商务语言的非技术性框架,帮助企业轻松创建标准化的通证定义与合约;另一方面,IWA将允许开发者们在任意平台上创建这些框架。
NGD西雅图负责人John deVadoss将出任IWA的工具督导委员会主席。
作为五大发起成员,创立IWA是Neo在推动区块链创新与落地进程中迎来的又一重大里程碑。作为专注通证化与数字化的平台,Neo将致力于提升通证标准化的创新性与影响力,以促进不同平台之间的交互协作。秉持建设下一代互联网的使命,Neo将携手IWA伙伴加速区块链技术在主流行业的落地,迎接智能经济的到来。
月底,Neo创始人达鸿飞在海内外媒体上发表了题为“USDT 解耦了美元两大特权,启发中国与欧洲加速开发央行数字货币”的文章。
- 6月2日,Neo作为五大发起成员之一创立InterWork Alliance,以加速区块链的大规模应用。
- 6月18日,John deVadoss在Blockdown 2020上主持了一场关于企业区块链的圆桌会议。
- 6月30日,Neo创始人达鸿飞发表了一篇题为“USDT 解耦了美元两大特权,启发中国与欧洲加速开发央行数字货币”的文章。
- 整个6月,Neo专栏作者继续发表设计各类主题的专栏文章。
生态发展
许多Neo生态项目都在6月迎来了新的里程碑。去中心化交易所Nash与Switcheo均在上个月实现了交易量的重大突破。与此同时,Switcheo还推出了全新的品牌形象。在去中心化身份领域,Bridge Protocol与Moonlight都推出了重大更新。
NeoLine与O3则继续在钱包方面不断进行创新。O3钱包针对即将到来全新改版推出了测试版,并在Reddit上举办了AMA问答活动,让社区与全新的O3团队近距离接触。NEXT社区则在NeoLine钱包中推出了NFT平台,并通过推广活动向社区发布 NeoLine&Neo 首个联名款 T-shirt NFT。
Neo生态还在上个月迎来了新成员MADANA。这家德国公司专注于网络安全与隐私的研究,特别是基于硬件的可信执行环境(TEE)技术。 双方初步合作将专注于NeoFS在MADANA的安全处理应用程序上的集成。
- 6月2日,去中心化交易所Nash宣布日交易量首次达到100万美元大关。
- Neo和MADANA于6月8日宣布建立合作伙伴关系。MADANA是一家德国网络安全和隐私公司,将探索NeoFS进行机密计算。
- Switcheo于6月9日推出了新品牌形象,并宣布交易量实现环比增长300%。
- NEXT推出了其基于Neo的NFT平台,用户可以在其中通过NeoLine钱包查询和转让基于Neo的NFT。 NFT浏览器也已添加到NeoTube。
- Bridge Protocol于6月13日推出了Bridge Identity平台v3.0版本,实现对Neo和以太坊的跨链支持。
- Moonlight发布了其平台的v1.1版本,为个人简历文件和链接控制面板添加了新的分析功能以及其他各种常规改进。
- QLC Chain发布了2020年第二季度季度报告,宣布QWallet的日活用户数接近78,000 人,对DeFi项目的集成支持以及QGAS在移动支付中的使用也实现增长。
- O3钱包在全平台发布了拥有全新UI的Beta版本,并于6月18日在Neo Reddit上成功举办了AMA问答活动。
- Neo与OKEx合作进行了夏季活动,并于6月23日在Neo的官方Telegram群进行AMA问答活动。