为了帮助你们了解NEO平台上技术社区的开发进展,NEONewsToday将每个月发布一份值得关注的更新报告。这些报告将包括对NEO核心项目的贡献以及对社区建立项目的改进。python
这个报告不是包括全部项目进展的详细清单。NEONewsToday将从尽量多的社区贡献者中收集信息,但并不能彻底包含全部社区项目内容。git
任何对NEO基础设施或开发工具作出重大贡献的NEO开发者(不管是开发社区的成员仍是其余人),均可以经过wakeup@neonewstoday.com与NEONewsToday 联系,并提供相关信息以供未来报告使用。github
Neo-cli(NR)算法
自10月24日以来,NeoResearch成员Igor和Vitor Coelho一直致力于一项旨在优化NEO共识机制的重大更新。该提案中还看到了CoZ和NGD成员的贡献和评论。https://github.com/neo-project/neo/pull/426数据库
此项更新的第一部分由PR #426涵盖,重点介绍如何添加“提交”阶段的共识,以防止“分叉”问题(移植到与Akka模型兼容的地方),以及更新策略和其余性能优化。再生策略的目的是容许丢失/失败的共识节点自动从新与网络链接,无需从新启动。https://github.com/neo-project/neo/pull/422json
初步的修改已经完成,目前正在接受NeoResearch、NGD和CoZ的测试。在不久的未来,新的具备这些改进的Neo-cli版本将被应用到测试网络共识节点中。bootstrap
Neon Wallet (CoZ)api
11月发布了Neon Wallet v2,对原有的Neon Wallet进行了全面的设计改进。本月进行了大量更改,包括实现了新功能,如NEP-9 QR生成、节点选择以及简单可转换的转移和Token销售优先费用。https://neonewstoday.com/general/city-of-zion-releases-neon-wallet-v2-featuring-complete-design-overhaul/浏览器
第一周是修复新特性和其余各类平常bug的修复https://github.com/CityOfZion/neon-wallet/pull/1645,例如将接收转移的最大数量从10个增长到25个https://github.com/CityOfZion/neon-wallet/pull/1655。Neon Wallet是去中心化的,已经不存在对其余项目的依赖https://github.com/CityOfZion/neon-wallet/pull/1648。其中一个例子就是Neoscan的自动节点选择,它被直接内置在Neon钱包中的自动节点选择算法所取代。https://github.com/CityOfZion/neon-wallet/pull/1663性能优化
第一周,钱包的下载量就超过了15k。目前的短时间目标包括处理小Bug、对测试的改进以及考虑替代订价数据API。该团队还开始计划对本地网络或手动节点地址输入、多团体钱包和改进的用户体验/用户界面的GAS索赔的支持。
在最后一周,有20多个问题获得了解决,测试覆盖率和节点选择算法也获得了进一步的改进https://github.com/CityOfZion/neon-wallet/pull/1727。这将继续做为以后的核心关注点,由于该团队为第一次重大更新(即v2.0.1)打下了坚实的基础。
11月的大部分开发都花在了改进和更新命令行界面(CLI)上https://github.com/CityOfZion/neo-local/pull/102。 最初的改进之一是添加了destroy命令,容许根据须要中止和删除服务容器。 新的本地版本0.11.1于11月6日星期二发布。https://github.com/CityOfZion/neo-local/releases/tag/0.11.1
从12日星期一开始的第二周,PrivateNet容器https://github.com/CityOfZion/neo-local/pull/104、新python https://github.com/CityOfZion/neo-local/pull/109和通知服务器服务https://github.com/CityOfZion/neo-local/pull/108被添加到CLI。经过改进CLI,能够简化对CLI的理解,并创建用于开发的NEO私有链。
从19日星期一开始的下一周,CLI中添加了neo-scan-sync https://github.com/CityOfZion/neo-local/pull/118和neo-scan-api容器https://github.com/CityOfZion/neo-local/pull/119,同时还添加了其余改进,如引导链的能力https://github.com/CityOfZion/neo-local/pull/115。CLI启动了特性工做,目的是使其具备上下文智能;这意味着它知道哪些服务相互依赖,以便以正确的顺序启动它们https://github.com/CityOfZion/neo-local/pull/117。
11月的最后一周,CLI功能获得了改进,这些功能在项目的早期阶段获得了快速开发https://github.com/CityOfZion/neo-local/pull/124。这些更改包括增长配置的灵活性,以及支持在任何操做系统上加载配置。改进还提供了进度条和其余信息,以帮助用户知道下载须要多长时间。https://github.com/CityOfZion/neo-local/pull/125
近期欧洲黑客马拉松(鹿特丹,柏林和苏黎世)也使用了NEO本地项目https://github.com/CityOfZion/neo-local。该团队报告称,已经收到了不少关于如何在将来改进项目的有用反馈。
虽然neo-python节点在正常网络活动期间一般没有问题,但增长的使用/滥用行为可能致使neo-python节点卡住,须要从新启动。 neo-python团队已经投入时间分析此行为并更新网络代码以提升这些节点的总体弹性。
bootstrapping进程也获得了改进,在这以前须要用户更新protocol.xxx.json文件中的bootstrap连接。该文件如今将自动查找最新版本https://github.com/CityOfZion/neo-python/pull/705,所以用户无需进行手动修改。主网和测试网引导程序文件已更新,分别阻止高度3002xxx和2022xxx。
更新后的实现可以经过在neo-python设置中指定路径来交换组件类https://github.com/CityOfZion/neo-python/pull/719。虽然目前只支持RPC和REST服务器,但团队打算将其扩展为包括CLI命令,网络和数据库。最终,该团队但愿容许用户建立能够经过pip包管理器安装的自我维护插件,而后经过更改protocol.xxx.json来激活。
在向JSON-RPC服务器添加GET和OPTIONS请求功能以后,neo-python项目正在接入与neo-cli的功能奇偶校验https://github.com/CityOfZion/neo-python/pull/712。在更新以后,使用neo-python的RPC节点将经过GET请求进行查询。
Neo-tools是一个更近期的项目,由City of Zion 的开发者Fetter带头发起https://github.com/CityOfZion/neo-tools。 现采用CLI的形式,旨在将全部NEO API、示例和项目原语集中到一个位置,以便开发人员能够在简单的类Unix环境中轻松访问它们。
Fetter从包含基本参考API实现和服务的初始构建开始。其中包括Neoscan,neon-js,Binance,Coinmarketcap和CoinPaprika的CLI。 根据这些内容,Fetter优先考虑被动地添加开发者社区需求最多或者其余成员所需的工具。
在短时间内,neo-tools的更新将侧重于一致性和代码模块化,但能够期待Fetter意图包纳全部NEO服务,包括RPC和REST API,钱包服务和区块链元数据分析/转换实用程序。
NeoCompiler Eco是一个智能合约开发平台https://neocompiler.io/#/,由NeoResearch团队建立https://neonewstoday.com/general/introducing-vitor-and-igor-coelho-of-neoresearch/,该平台容许他们使用基于Linux的系统编译NEO合同。 NeoCompiler Eco可经过Web浏览器或移动设备访问,可帮助开发人员构建,测试甚至部署使用C#,Java,Python和Go编写的智能合约。编译器在共享的私有测试网络上运行,每12小时重置一次,容许任何人在部署到主网以前测试他们的合约。
NeoResearch目前专一于实施共识绘制工具https://github.com/NeoResearch/consensus-draw,该工具旨在跟踪共识数据并以人类易于理解的格式呈现。该工具的实施还能够帮助调试NEO共识的全部潜在问题。
Smart Account Composer/Smacco是另外一个NeoResearch项目https://neoresearch.io/smacco/#/,容许建立具备附加功能的NEO地址。Smacco不是生成具备基本发送/接收功能的典型公钥/私钥对,而是容许用户使用特定规则建立验证合同。
这些基于逻辑的条件能够以多种方式使用,例如用于建立须要多个私钥解锁的钱包,或者锁定时间戳后面的特定动做。它还可用于容许特定私钥使用某些操做,例如发送特定令牌,而无需彻底控制账户。
与NeoCompiler Eco同样,用户可操做性是Smacco的重中之重。为了便于理解这些规则描述的逻辑流程,使用该工具建立的任何智能账户都伴随着自动生成的逻辑图。不管技术熟练程度如何,这些图表都易于被任何人理解。
原文:https://neonewstoday.com/development/november-community-development-summary/