(翻译说明:SAFE Network 暂译为“安网”,Vault暂译为“安库”)
小结
以下是本周要强调的一些主要内容:
- 在下一个
safe-cli
版本中,您只需调用$ safe auth install
就可以安装authd
,并且还可以通过$ safe auth update
更新authd。 - 过去一周来,来自社区的各种建议已包含在 数据类型细化RFC的最新更新中。
- 我们关闭了BLS板块以及安全消息传递板权,仅仅缺少BLS板块依赖,并更新了 路线图
安库(Vaults) 阶段2
上周我们宣布,我们能够生成大量相互连接的Vault,并在Routing API的帮助下形成一个区域。我们根据此部分在SAFE客户端库中运行了客户测试,初步结果令人鼓舞。这意味着Vault,Routing,PARSEC和quic-p2p等不同组件之间的集成工作正常。但是,也有一些失败。由于该部分无法响应某些请求,因此某些测试因RequestTimeout
而失败。我们一直在研究这个问题,并且通过一些调试,我们获得了更多信息。安库(Vaults)在DigitalOcean的DropLet上运行,并且在处理多个并发请求时,由于异常的内存使用情况,安库二进制文件有时被OOM Killer杀死。我们对此进行了仔细的研究,并借助一些内存分析工具,我们发现quic-p2p线程似乎正在使用大量内存。可能是因为在通过网络成功发送之前,它保留了消息队列中的未决消息。这只是我们的强大优势之一,我们将继续进行调查,同时进行更多的调试和性能分析。敬请期待更多的更新!
SAFE API
最后,我们增加了从Amazon S3下载新版本的支持,这是safe-authd
资产所需的。 现在,通过对照S3中可用的最新版本检查其当前版本,可以安全更新自身。 这已准备好进行合并和发布,我们正在等待我们使用的依赖项的新版本(self_update 进行此类更新,该依赖项将很快发布。
能够从S3下载safe-authd
版本使我们能够向safe-cli
添加几个命令来安装和更新safe-authd
,从而大大简化了用户的过程。 在下一个版本的safe-cli
中,您只需调用$ safe auth install
即可安装authd
,并且还可以通过$ safe auth update
来更新authd
。
在过去的几天中,我们恢复了去年年底开始的一项任务,该任务尝试将 safe-api
中的API公开为异步功能,以及尝试将authd
实现迁移为使用异步/ 内部等待而不是使用远期功能。 我们在将API公开为异步函数方面取得了一些进展(即使在内部它们还没有完全异步),并且我们将尝试了解是否可以将safe-nodejs
绑定修改为现在在调用这些异步函数时返回promise。 在这一点上,我们认为这是我们要推进的一项并行任务,但我们并没有将其作为真正的优先事项来处理,我标记数据,索引和令牌授权们只是在尝试了解此类迁移面临的挑战。
标记数据,索引和令牌授权
上周,在最初的简略令牌实现方面进行了一些重构。 将一些SAFE Client Libs功能以及令牌一起移到 safe-nd,可以在我们的库中正确使用它,从而为安库验证令牌打开大门。
我们还增加了令牌创建和简单验证的测试范围,为我们提供了更多有用的东西。
下一步的计划是在安库(Vault)“客户端处理”代码中完成基本令牌验证,因此我们对整个库的整个过程都有很好的了解,然后才开始使令牌 实际 有用,添加并验证令牌,以便我们可以开始废弃现有的身份验证设置。
数据类型细化
在过去的一周中,来自社区的各种建议已包含在RFC的最新更新中。 感谢@david-beinn,@tfa,@JPL,@dask和@jlpell所提供的贡献,以及许多参与了讨论的其他人。
SAFE Network App
本周,在我们进行UX设计以获取单个文件和应用程序数据权限时 SAFE Network App Feature Tracker 改为蓝色。
这是感觉很简单的那些区域之一 "是的,我会在一两天之内就回应” ,然后复杂性迅速展开—— “哦,我的” ,然后反复遍历它 又回到了简单的样子— _花了多长时间?”_:sweat_smile:。
它的目的是很好地满足我们对MVE的需求,同时建立对将来更微妙的用例有用的模式,以及一些对数据标签可以容纳的配方有用的控件。
只有通过测试和了解系统所允许的可能性(广泛的可能性),才能真正证明该方法的有效性。因此,我们下周将总结一切,以使您的想法,从简单开始并从那里开始。
SAFE App C#
本周,我们对CI设置进行了一些改进。 这些更改使CI能够在版本更改PR提出时从构建管道自动创建GitHub发布草案。 使用相同的设置,我们发布了MaidSafe.SafeApp NuGet包。
我们添加了一个新的API(AppConfigDirPathAsync
),开发人员可以使用它来获取读取不同配置文件的路径。您可以通过将应用更新为最新的RC软件包来开始使用此API。有关其他改进,请参见changelog文件。
我们使用了不同的工具和检查来强制执行safe_app_csharp
代码中的编码标准,这似乎是多余的,并使代码的编写和理解更加复杂。因此,我们重构了代码,并使之更加简单和干净。
为了使用C#API测试实际场景并在使用该软件包开发不同类型的移动和桌面应用程序时提供更大的信心,我们正在研究一种针对本地运行的Vault运行测试的设置。此PR中已经完成了一些必需的工作。 PR包含对本地Vault运行桌面测试所需的更改。接下来,我们将找出在移动平台上执行此操作的最佳方法。
Safecoin Farming(挖矿)
@danda本周从单个客户的PUT请求开始,在模拟的多部分,多安库网络中编写了一个挖矿奖励流的小型模拟。 仿真是用一种解释性语言编写的,它是一种快速/脏的工具,可用于快速原型制作和学习,而无需计划公开发布。 从中获得的观察和教训将进入笔记/讨论,最终将进入设计文档。 他还开始绘制奖励流程图,并开始制定一个新的针对挖矿奖励的RFC文档,旨在提供更多细节和明晰性。
@oetyng还花时间与其他团队成员进行一些原型设计和讨论,尤其是围绕PARSEC集成细节,并且正在推进奖励流程文档,该文档将纳入新的RFC中。
Node Ageing
我们进一步提高了[实施老年人晋升/降级](https://github.com/maidsafe/routing/issues/1835),解决了列表中的另外2个问题,[验证信任](https://github.com/maidsafe / routing / issues / 1945),当成年人收到长者的更新,并清理[不必要的事件](Issues · maidsafe/sn_routing · GitHub
我们还清理了更多的路由库,改进了文档并澄清了名称,以简化其使用。
我们进一步提高 实施大龄晋升/降级, 解决列表中的另外2个问题。 验证信任 当成龄接收到大龄的更新,并清理 不必要事件.
我们还清理了更多的路由库,改进了文档并澄清了名称,以简化其使用。
BLS
通过网络发送路由消息时,作为解决不必要的序列化的一部分,我们解决了该项目与错误消息过滤有关的最后一个问题。
我们现在已经关闭了该项目委员会。 如果需要,任何性能问题或清理工作将作为其他项目的一部分进行处理。
这样,我们还关闭了仅缺少其BLS依赖项的安全消息传递板块,并更新了路线图