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-storm的1.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实现的,这为开发者提供了更方便的第三方的互操作和调试。
…
neoscan:https://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
Wallet:https://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-local:https://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