NEO社区开发报告(2018年12月至2019年1月)
这是NEO News Today 发布的第二份NEO社区开发报告。本报告涵盖了在2018年12月和2019年1月期间,NEO核心协议和社区开发者创建的独立项目的主要贡献。
社区通过了一项新倡议,各NEO开发小组、NGD团队和NEO创始人之间将每月举行一次会议。会议旨在改善NEO生态系统中不同团队之间的沟通,为迁移到NEO3.0平台做好准备。
会议也为指导各小组在之后几个月应该关注的内容提供了一个沟通平台。NEO News Today在接下来的一篇文章中将进一步探讨这些内容。
NEO技术社区 – 第一次月度电话会议
会议代表如下:
- NEO基金会– 达鸿飞、张铮文(Erik Zhang)
- NEO全球发展(NGD)– 桂海芳 (Grace Gui)
- City of Zion(CoZ)– Fabio Canesin、Tyler Adams、Chris Hagar
- Neo Research – Igor、Vitor Coelho
- Red4Sec – Shargon,Belane
- NewEconoLabs(NEL新经济实验室)– 刘永新、王祥剑(Robbie Wang)
- NEO SPCC – Sergei Liubich、Anatoly Bogatyrev
- AxLabs – Guil Sperb Machado
- NEO•ONE – Alex DiCarlo
- NEO News Today – Dean Jeffs
NEO协议贡献
dBFT和neo-cli 的改进
在整个12月至1月,社区开发者继续优先NEO的dBFT共识机制和neo-cli客户端。由NeoResearch牵头的第一版ODBFT更新已经完成进一步测试。
1月29日,NEO网络遇到了一个历史遗留的区块问题,导致区块浏览器和RPC节点信息与区块链不同步。该问题将在第三个共识阶段发布之前得到永久性修复,该阶段已通过Cityof Zion和Red4Sec的Shargon所做的工作成功测试。
这些关键更新将在单个pull请求中完成,准备与主代码合并。正在完成再生策略的工作,该策略将通过允许共识节点在失败时自动恢复以应对其他变化。
NEL新经济实验室(NewEconoLabs)也在其LightDB项目上取得了进展,该项目取代了目前NEO节点使用的LevelDB数据库。本地测试已经完成,NEL声称它将来会在其节点上使用LightDB。NEL团队希望它能“大幅提升NEO的TPS”。
去中心化劳务平台Moonlight的开发者发布了其Asteroid负载均衡器的源代码。负载均衡器充当反向代理,帮助轻型应用程序与正常运行的完全同步的NEORPC节点保持连接。有关Asteroid负载平衡器的更多信息,请点击此处。https://neonewstoday.com/general/moonlight-introduces-asteroid-load-balancer/
最后,City of Zion和Splyse的开发者Joe Stewart (@hal0x2328)创建了两个可选的neo-cli插件,旨在对dApp生态系统有所帮助。第一个插件实现了一个名为findstorage的RPC方法,该方法允许dApps在查询和分页需要大量结果的情况下快速从智能合约读取信息。
第二个插件是NeoPubSub,它将智能合约通知实时发送到RedisPub/Sub队列。这就创建了一个简单的界面,dApps可以使用这个界面通过websocket接收来自多个智能合约的通知。
内存池更新
Aphelion的开发者Jsolman对NEO的内存池系统提出了一些修改,这些修改旨在解决当内存池达到高容量时所引起的性能问题。这些问题将降低NEO处理突发网络负载的能力,并可能延迟已发送的具有优先级费用的转账,因为在新转账获得优先级之前,现有转账将被重新验证。
这些更改将转账限制为与填充块所需的数量(当前为500)相等的转账子集,从而防止需要对每个块重新验证所有转账。转账现在也在内存池中保持排序,减少了节点检验哪些转账应该具有优先级的需要。
这些更新将显著提高NEO的性能,并有助于在网络负载较重时稳定区块时间。预计neo-cli2.9.5版本将包含这些更新。
社区项目
O3实验室
O3实验室发布了对其NEO dAPI的更新,该协议的创建是为了让dApps方便地访问现有的NEO钱包。这消除了dApp创建者构建自己钱包的需要,并有可能改善用户体验和用户安全性。
该团队的目标是将该协议设置为NEO生态系统的标准,并已开始与NEL新经济实验室(NewEconoLabs)合作开发一个可供开发者使用的可访问包。
O3还在其地址扫描器中添加了一个特性,允许NEO用户轻松查看内存池中当前有多少转账。如果积压超过500个转账,就可以解释转账延迟的原因。
City of Zion
在1月中旬,CoZ发布了neo-python 0.8.3版本,一个由Python语言编写的NEO节点和SDK。这是一次大规模更新,包括一个完整的CLI重构以及各种稳定性/可用性改进。有关更新的详细介绍请点击这里。https://neonewstoday.com/development/coz-releases-neo-python-v0-8-3-with-user-friendly-cli-refactor/
Neo-local项目在1月份也有了相当大的进展,可以快速部署个人NEO区块链,以便在事先无经验的情况下运行测试。Neo-local已经更新为使用最新的neo-python版本,目前正在进行对多系统支持的测试。
CoZ 开发者@cryptotuga向Docker容器添加了自动修复功能,允许它们在遇到不健康情况自动重启。这项更新旨在避免neo-local用户在出现故障时需要手动调试系统。此外,还向neo-local添加了停止命令,允许在堆栈启动后停止容器。该命令将在将来进行扩展,以允许停止单个容器。
Neon Wallet v2.1候选版本已推迟发布,等待对发送功能、用户体验和QR功能的改进。一月份的大部分时间都花在了解决小bug、提高代码质量、改进测试覆盖率和实现新的主要特性的初始研究/步骤上。这些改进可以在这里点击查看。https://github.com/CityOfZion/neon-wallet/projects/3
这些主要特性包括手动节点选择、支持多样Ledger硬件钱包公共地址,以及用于待定转账的潜在UI解决方案。
NEL新经济实验室(NewEconoLabs)
除了替换NEO节点的LightDB数据库之外,NEL还发布了一个基于NeonDebug工具包的NEO智能合约在线调试工具NeoRay,目前只支持c#代码。更多关于NeoRay的信息可以点击这里。https://neonewstoday.com/general/nel-releases-neoray-debugging-tool-for-neo-smart-contracts/
NEL在1月份的开发报告中指出,Teemo浏览器扩展钱包的开发已经开始。除了为用户提供一个可访问的浏览器钱包,让用户在不暴露私钥的情况下访问dApp外,它还将作为dApp开发平台,旨在简化dApp开发。
NEO圣彼得堡能力中心
最新加入NEO生态系统的开发团队NEO SPCC发布了一份报告,报告涵盖了其在2018年第四季度取得的进展。该报告记录了其去中心化文件存储平台的当前进展、对neo-go和neo-storm项目的贡献,以及官方NEO文档的俄文翻译。NEO News Today 对该报告的摘要点击这里查看。https://neonewstoday.com/development/neo-spcc-releases-q4-2018-progress-report/
研究员Alexey Vanin发表了一篇关于BFT协议中的任务分布的文章,目的是通过最小化NEO节点上的任务池大小来提高NEO的可伸缩性。摘要可以在这里查看。https://neonewstoday.com/development/neo-spcc-shares-research-on-node-task-distribution-in-bft-networks/
该小组还参加了在圣彼得堡举行的MICSECS-2018大会,在会上他们展示了他们关于去中心化文件系统的研究。展示了三个作品:
- 基于同态哈希函数的零知识数据验证方法
- 网络地图和数据放置模型
- 提高分布式系统中流言式协议的效率
1月31日,NEO SPCC发布了一个教程,介绍如何设置一个成熟的环境来自动导入智能合约。在原来的CoZ私有网络docker中,可以使用neo-python提示符轻松导入智能合约,但是每次设置环境时都不方便这样做。NEO SPCC的NEO私有网络具有自动智能合约导入功能,可在此下载。https://github.com/nspcc-dev/neo-privatenet
本文由NEOFANS翻译自NEO News Today,并有一些修改和增删,部分内容与原意略微不同,欢迎大家查阅原文,链接如下:https://neonewstoday.com/development/december-and-january-neo-community-development-summary/