NEO海外开发者社区CoZ 6月至8月项目报告

NEO海外开发者社区CoZ 6月至8月项目报告_第1张图片

City of Zion(CoZ)是一个开源代码爱好者全球社区,其共同目标是帮助NEO充分释放潜力。CoZ主要通过Discord和CoZ Github等社区平台进行协作,共享信息和为项目贡献力量。

CoZ既不是公司,也不是咨询公司或开发者商店/雇佣小组。

由于我们一直很忙,对于发布最新项目进度的延迟,我们深表歉意!这是项目维护者编写的过去几个月的报告。

neo-go:https://github.com/CityOfZion/neo-go

neo-go开始构建2.0

在更好地理解区块链技术以及NEO如何工作之后,便从核心部分着手开始,并使用正确的编程语言和代码工程实践来实现它。

创建了处理网络协议的包

创建了新的加密包

开始编写轻节点的核心基础

]使每个模块均可独立导入

neo-storm项目启动

neo storm的Github链接:https://github.com/CityOfZion/neo-storm

在NEO宣布它将改变NEO协议的一些核心语言之后,我认为开发者应该有一个好用的、简洁的智能合约框架,因为专注于智能合约开发比继续把端口写入Golang更有意义。目前,几乎所有NEO开发者都使用Python或C#来编写合约,然而,NEO最大的优点是能够用多种语言编写智能合约,所以为什么不改进Golang编译器,让它可媲美同类编译器(Python和C#)。

| neo-storm不仅仅是Golang到AVM的编译器

Golang到AVM字节码编译器

完全存根的NEO虚拟机(不需要节点)

智能合约调试器

部署到测试和生产环境的工具(SDK)

用Go语言编写的智能合约模块的软件包管理器

完成neo-storm1.0版本

Neo storm已经发展到版本4,这使它成为了一个完全可用的从Golang到AVM的编译器。但由于还没有经过充分的压力测试,目前还不适合生产。

启动新的、改进的VM

新版本的VM具有更高的安全性和完全独立工作的能力,这意味着使用neo-storm的开发者无需启动私有网络即可测试他们的合约。VM将内置和模拟所有运行时的状态和NEO API,就仿佛它是一个完全工作的区块链。

neo-sharp:https://github.com/CityOfZion/neo-sharp

6月,由8名成员组成的neosharp团队继续构建和完善平台,特别是在密码学、网络消息传递和持久性方面。

当团队实现了Genesis区块的生成并开始测试来自测试网和主网源的区块稳定性时,意味着发展达到了一个重要的里程碑。此外,团队还致力于网络消息传递、单元测试覆盖以及贡献指南和最佳实践的更新,从而使新的贡献者能够参与到项目中,并使代码库为团队赴上海和NGD开展联合开发冲刺做好准备。

7月,该团队真正开始neosharp开发并赴上海NGD一起合作开展联合开发冲刺,团队也新增了5个贡献者,7月份在GitHub上有近100个pull/commit的请求。

本月主要关注的领域是:钱包功能、应用程序和控制台功能的集成,任务调度程序框架的添加,RPC的实现,VM集成,区块的处理/持久性以及单元测试的覆盖。该框架也升级到了dotnet核心2.1,上海联合开发之行标志着NGD资源开始整合到neosharp开发工作,它是非常成功的,期望在未来几个月内可以对项目进行更深入的整合和资源的分配。

8月,贡献者队伍在设计、测试和neosharp实现方面增加到了13个常规贡献者/参与者,并且项目转移到Github来进行问题的跟踪和项目的管理,早期贡献者使用的传统Trello版本已经落伍了。

此外,测试覆盖率越来越受到人们的关注,新的计划是利用容器来促进网络配置中节点的功能测试,使用动态分配的容器将使开发者能够以新的方式测试节点,这种方式目前还未出现于NEO社区中。

除了测试之外,还进一步实现了持久性,使Redis数据库的持久性模块在功能上与RocksDB实现兼容,并且第一个JSON持久性模块是利用Redis实现的,这为开发者提供了更方便的第三方的互操作和调试。

neoscanhttps://github.com/CityOfZion/neo-scan

从外部主机(用于neoscan.io、neoscan-testnet.io、coz.neoscan-testnet.io和nex.neoscan-testnet.io的5台服务器)切换到Google

Kubernetes Engine集群上更加统一的部署,实现了更快的部署、回滚、数据库备份、复制和测试。

利用区块并行插入改善neoscan的同步时间(从4天到24小时)。

提高单元测试的稳定性和速度

各种修正/重构

添加已弃用的Token列表并在UI上显示它(例如,用NRVE支持NRV Token)

更新neoscan文档并从单元测试中自动生成该文档

为所有的环境neoscan.io,neoscan-testnet.io,coz.neoscan-testnet.io,nex.neoscan-testnet.io)配置和创建部署脚本(以便所有这些端点从neoscan获得最新的更新)

启动时更快的区块一致性检查

使用segment_tree结构进行地址gas计算

各种错误修正

neoscan代码库已经完全用新的postgresql数据结构重写,给出了以下改进:

更快的区块链同步(快2倍)

更好的数据一致性/崩溃恢复方案

详尽的测试(超过90%的代码覆盖率)

更好的可维护性(删除代码冗余,代码库减少25%的LoC)

Neon

Wallethttps://github.com/CityOfZion/neon-wallet/releases

6月,创建和设计了新的UI/UX的v2版本的基础,并进行了仔细的审核。在v2和现有的neon-wallet版本的性能和安全性上做出了更新,创建了一个项目版面来容纳v2 MVP的代表项目,并且将网络费(优先费用)引入到了neon钱包中。

在neno钱包v1版本中实现tx网络费

许多产品设计的迭代审查了新的v2概念

创建关于gh和信息管理的v2项目版面

v1和v2分支中的电子安全修复

7月,开发了v2的通用组件库以便在整个应用程序中使用,并且许多内部API被简化和重构。工作已经进行到不需要再为添加到网络中的每个新Token发布一个新版本的程度,又有一些新的贡献者加入了团队,并做出了巨大的贡献。已在neon钱包中实现了验证,发送和钱包管理器UX功能并进行了QA。v2开发工作正在进行的同时,现有版本的neon钱包已发布补丁(0.2.6)。

从设计规范到应用程序的字体介绍

与新的设计相关的所有身份验证UX / UI的实现

审核和固定类型注释

为未来的贡献者设计和创建通用组件

在v1和v2中引入新的逻辑,用于通过neo-tokens

repo动态获取Token哈希(之前需要一个版本来添加硬编码的脚本哈希)

投票UI和redux的实现

新贡献者的参与

发布流程和circleCI流程的审核,以及发布文档的创建https://gist.github.com/comountainclimber/a0dd9f7553ffd75ad7a3635c7ea70d5b(以前不存在)

损坏的HMR

webpack的修复

发布0.2.6版本https://github.com/CityOfZion/neon-wallet/releases/tag/0.2.6

更新核心依赖项

v2“发送”UI / UX

实现v2“钱包管理器”UI / UX

与“空”钱包状态相关的设计模拟的迭代和审查

在八月份,团队更多的专注于v2中UX / UI的设计实现,v2仪表板组件已经完全实现,包括带Token标识的Token余额等。已完成有关新应用程序的设置、节点选择流程、Token销售、接收、nep9 QR生成功能、交易历史记录和联系人部分的工作。许多现有的用户体验流程也得到了进一步完善,在整个应用中实现了包括图标和图像在内的资产更新,对应用程序的状态管理层进行了大量更新。除了所有这些艰苦的工作之外,v1的0.2.7和0.2.8两个版本在此期间被删减,增强了许多性能,其中最显著的是减少了neon钱包所需的网络电话。这些版本也被移植回v2。

发布了0.2.7版本https://github.com/CityOfZion/neon-wallet/releases/tag/0.2.7

开展针对在Token销售UX流程中实现网络费用的研究

完善了v2“发送”UI

Bug修复

修复/简化了动态哈希逻辑并更新了硬编码Token列表

修复了使用coznet时交易历史记录中损坏的链接

释放端口0.2.7到v2分支

利用动态Token哈希工作使界本上包含nep5Token的图像

在不同屏幕分辨率下审核v2分支

界面组件的创建和润色(v2)

nep9模拟上设计的协调(v2)

应用程序图标(v2)

添加通过键盘快捷键最小化应用程序的功能(v2)

在auth视图中从package.json动态添加版本号(v2)

发布0.2.8https://github.com/CityOfZion/neon-wallet/releases/tag/0.2.8

完全重写dashboardActions

getBalances逻辑,利用neon-js中新的getTokenBalances功能来提高性能、简化代码

NEO Token中发现和修复SOUL的无效脚本哈希

在通用代码质量的改进上花费了许多小时 – 修复了先前的贡献者/维护者引入的linting和类型错误

修复CI流程中的错误

v2发送优先费用的实现

neo-python:https://github.com/CityOfZion/neo-python

6月,我们完善了与交易相关的几个部分。对解析部分进行了更新,我们添加了在测试和实际调用期间添加事务属性的功能,并添加了新命令`tkn_history`以显示指定Token的所有历史传输。仅举几个变化:

在实用方面,我们添加了“np-sign”用于钱包、NEP2格式化密钥或WIF的签名。此外,还引入了`np-export`和`np-import`用于原始区块数据的备份和恢复。通过允许RPC服务器与REST服务器并行运行,修复了一些错误并添加了几个新的RPC方法以使其更接近官方的C#RPC服务器的功能。我们要强调的最后一个很酷的功能是用于智能合约开发的`Iterator` API,它允许在存储上下文中进行前缀搜索,快查看更新的日志以获取完整的更新列表!

虽然7月的进展较为缓慢,但我们并没有坐以待毙。我们将重点介绍几个很酷且重要的更新。首先,命令提示符现在支持` – i`标志,允许您在调用期间以交互方式指定参数及其类型,这极大地改进了对调用事务处理内容的解析和控制。从多重签名发送的NEP5 Token无法正常工作(这意味着您无法使用`neo-python`转移您的NEO Testnet资金)的问题已修复!进行了一些与网络相关的改进,从而提供更好的连接节点。与C#客户端相比,其余的更新主要是内部工作,以提高数据结构的稳定性和正确性。与往常一样,请查看更新日志以获取完整的更新列表!

八月,夏天即将结束。我们针对节点的选择,在网络方面做了一些更新。添加了向交易添加费用的功能,以便如果您愿意为此付费,您可以在网络上优先处理您的交易。我们添加了对更新的库版本的支持,以便及时了解这些改进,并扩展了我们可用的RPC方法,与官方节点GAS计算进行了更新和同步,并减少了很多的错误。最值得注意的是我们修复了`np-import`工具的头导入问题。有关更改的完整列表,请查看更改日志!

neon-js:https://github.com/CityOfZion/neon-js

6月,第一个测试版v4发布。新选择的堆栈包括typescript、lerna、jest和yarn,它提供管理多个包不断扩大的代码库的工具。虽然目标是拥有多个包,但neon-js包仍将作为具有相同功能的函数库保留。

核心软件包将以@cityofzion/neon-core的名称发布,这将仅包含命名模块,而不包含API。当前包中的api功能将作为@ cityofzion / neon-api和@ cityofzion / neon-nep5插件,以增强核心包。(目前插件包还未发布,因此无法进行试用)。

要安装版本4,需要使用下面的命令:

npm i @cityofzion / neon-js @ next

对于版本3,我们在构建版本4时会继续发布和更新。本月,我们发布了3.9.1版本,它引入了VM中复杂对象的反序列化。

此外,我们还发布了v4的另一个版本,该版本对依赖项进行了升级,并着重修复了过渡到typescript期间发生的错误。在v3方面,我们发布了3.9.2版本,它修复了影响neon-js决定好的rpc节点的各种错误。

随着投票的公布,一些工作重点放在了调查和支持国家交易,这些是用来投票给候选人的交易,当功能更稳定时,将发布此工作。

第4版本的工作已经快要结束,很快将会发布(9月初)。一旦版本4推出,v3上的工作将会停止,并且将分割出一个分支存档 /v3 以支持v3的未来补丁。由于版本4发生了很大的变化,我不希望立即采用版本4。因此,版本3将在必要时继续接收补丁和适当的升级,但是版本3可能没有基础结构来支持版本4中发布的新功能。例如,在不破坏浏览器兼容性的情况下,任何基于节点的程序包都无法移植到版本3。

同时,v3.11.0发布了几个新功能。由David提供的getTokenBalances将多个Token调用捆绑在一起,从而降低了开销。状态交易支持也与setupVote合并,成为设置投票的一种托管方法。最后,添加了verifySignature以补充签名方法。

neo-localhttps://github.com/CityOfZion/neo-local

随着nOS的普及和成功,最近几个月neo-local(NL)的用户数量也在增加。nOS核心团队发布了nos-local,它引入并使用NL作为其基础。作为新用户的一部分,已经标注并修复了许多错误,并且提出了进一步构建的功能。

在Discord上广泛讨论的一个项目现已发布并添加到NL:neo-local-faucet,这个新的服务构成了要添加到NL Docker

Compose堆栈的第6个容器,它是一个简单的Javascript Web应用程序,允许新钱包的创建和NEO / GAS对一个帐户的自动请求。

通过加强CI测试和夜间监控,进一步提高了NL的可靠性。

8月开始了neo-local的一个重要里程碑工作,跨平台CLI!切换到CLI的原因是:

[if !supportLists]·        [endif]移除了Makefile的需求,因为它不能在Windows上运行(参见@canesin提出的问题#8)。

支持项目的轻松夸张,以便可以继续添加更多的功能。

用Go语言编写,以获得更好的性能和单元测试的能力。

删除对Docker

Compose的依赖。

这是对项目的完全重写,因此需要一些时间。最初版本的目标是10月份,目前正在由@revett和@jeroenptrs进行开发。

@jeroenptrs创建的一个小修正改进了CI测试在项目上运行的方式。neo-local贡献者间的讨论将会继续推动项目的进展,可以参考Jeroen Peeters写的这个要点:https://medium.com/@JeroenPtrs。

快乐的黑客!

City of Zion社区

在Facebook、Medium Publication和Twitter上关注CoZ,了解CoZ开发的最新进展!

管理

加入CoZ没有什么正式的流程。有兴趣的人必须先完成工作,提交的代码必须根据MIT许可证进行许可。一致的贡献者将有资格加入CoZ组织,并开始合作项目。可以在此处找到该组织的管理流程:https://cityofzion.io/。

CoZ不是监管机构,对Neo Blockchain部署的第三方智能合约的质量不承担任何责任。

资金

自成立以来,CoZ委员会一直与NEO理事会保持密切联系,NEO委员会以NEO奖励的形式为社区提供支持,CoZ会每周进行分发。

对于愿意经济支持CoZ开发的个人,我们的捐赠地址是AXSoNQEKjmqPBNPg5cNrHyWivfjok3Vj9D。

CoZ委员会成员和维护者在每周的NEO奖励之外,并且理事会成员被排除在任何CoZ比赛之外。

翻译:尹丽丽

原文链接:https://medium.com/proof-of-working/city-of-zion-project-report-june-to-august-2018-ea6fa87565ea


NEOFANS:neofans.org

NEOFANS 微博:https://www.weibo.com/neofanscommunity

NEOFANS telegram群:https://t.me/NEOfansCN

你可能感兴趣的:(NEO海外开发者社区CoZ 6月至8月项目报告)