26

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

 5 years ago
source link: https://studygolang.com/articles/15638?amp%3Butm_medium=referral
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client
eUvEZzf.png!web

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

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

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

neo-gohttps://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-sharphttps://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-pythonhttps://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-jshttps://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


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK