美文网首页
IPFS 2018 Q4目标与关键结果

IPFS 2018 Q4目标与关键结果

作者: ce911395a033 | 来源:发表于2018-10-10 10:36 被阅读0次

    我们试着用科学流程来构建我们工作,该流程基于季度目标和关键结果(OKR)。其中目标反映了具有挑战性但可实现的结果。结果是切实的、可衡量的工作产出。


    一、开发与支持

    (一)项目

    3、建立更好的组织,从而为整个团队提供优秀的设计(不知道为什么没有1、2)

    正式组建设计工作组,为其成员命名,明确工作组的工作范围列表

    第四季度该团队要成长出1名视觉设计师(Agata +1)

    第四季度该团队要成长出1名交互/前端设计师(IPFS GUI)

    (二)JavaScript实现

    1、Go IPFS的可行替代方案

    缺省情况下启用DHT并与Go IPFS DHT互操作

    在pubsub和DHT上运行IPNS

    完成Base32 CIDv1迁移

    使JS IPFS守护进程成为一个(或更多)的IPFS网关节点

    JS IPFS在与Go IPFS相同的端口上运行,并使用相同的二进制名称

    一个IPFS版本管理器CLI工具,以在go、js或其他任何版本之间切换,就类似nvm/nave

    默认注册表npm-on-ipfs,让IPFS开发人员和CI用于安装npm依赖项

    一个repo迁移工具,使JS IPFS可以自动升级旧的repos

    2、可衡量的比以前更快更小的版本

    JS IPFS能够以像Go IPFS一样(至少75%)的速度传输类似ImageNet的大型数据集

    IPFS的浏览器捆绑包的大小不超过1.5MB(gzipped)

    随着时间的推移测量浏览器捆绑包的大小,如果超过1.5MB则发出开发者警告

    发布一个网站,以直观地跟踪各个JS IPFS历史版本的基本性能配置文件

    3、稳定和未来的证明

    把错误代码添加到源自JS IPFS的直接错误的统计中

    改善测试质量,删除重复,覆盖率提高至少5%

    js-ipfs-unixfs-engine被分解为更小的模块,以实现更好的可维护性、可测试性、可靠性和复用性。重构的模块是JS IPFS版本的一部分

    识别从JS IPFS(例如js-ipfs-mfs)中提取的候选模块,并达成一致

    建立对infra的持续部署要求,使CD成为所有PL JS项目的选项。对IPFS、IPLD、libp2p这3个项目持续部署

    最终确定unixfs-v2的规范草案

    (三)Go实现

    1、go-ipfs能够轻易处理大型数据(1TB ++)

    通过快速以太网传输1TB数据耗时低于48小时

    通过快速以太网传输200GB分片数据耗时低于12小时

    go-ipfs的GraphSync原型实现

    有一个更好、更高性能的数据存储模块(类似Badger或更好的)

    重构固定数据的结构,以支持大型数据或多文件

    2、带宽使用率显着降低,且易于持续控制

    用户可以选择不提供所有的IPLD节点(而是仅提供根哈希)

    改进Bitswap以减少干扰、减少带宽使用(减少重复块)并提高吞吐量

    3、让编程方式使用go-ipfs的过程成为一种乐趣

    完成并发布Core API,使得go-ipfs包的导入更容易

    go-ipfs-api公开新Core API

    使用新版Core API的go-ipfs守护进程、网关和cmds库

    弃用旧版的非Core API,并更新go-ipfs README上的图表

    4、go-ipfs成为一个维护良好的项目

    在Stebalien之前,每个有意义的PR都会先由他人审查。

    更新Go贡献指南,以满足Core Devs的预期,并帮助新贡献者(例如包含PR模板)

    提出与“引导维护者协议”等效的规则,由团队审核、合并和实施

    https://waffle.io/ipfs/go-ipfs上的每个问题都会被分类(在https://github.com/ipfs/pm/blob/master/GOLANG_CORE_DEV_MGMT.md之后进行审核和标记)

    每个软件包都有在Jenkins上运行的测试和测试+代码覆盖层

    能将软件包与子系统链接到工作流的最新的IPFS Go实现架构图

    5、gx成为Go 代码贡献者们青睐的工具

    您可以更新传递依赖的次级版本,而无需更新中间依赖关系

    go-ipfs中不重写导入(理想情况下,同步和构建皆如此)

    6、从第三季度开始、已付出了卓越努力、仍是高优先级的工作

    缺省情况下支持并启用base32

    go-ipfs获取unixfsV2规范+原型

    r+w IPFS跨平台安装

    (四)IPFS GUI/UX

    1、核心IPFS功能直观且易于访问

    一位全职UI / UX设计师入职

    发布重新使用Web UI组件的IPFS Desktop v2.0

    默认自动更新的,面向Windows、OSX和Linux的IPFS Desktop签名安装程序

    在Web UI、Desktop和Companion中提供share.ipfs.io

    实现Web UI的稳定月度发布,包含修复和新翻译的

    实现Web UI可用性测试计划和5个记录的测试会话

    发布Web UI和Desktop的博客文章和视频解释器,并在docs.ipfs.io中建议安装Desktop

    实现Web UI与IPFS群集一起使用,并显示群集的特定信息

    2、给予开发人员权限来创建优秀的、新的IPFS用户界面

    发布UI使用手册,其中包含组件和常见的API使用示例文档。

    Web UI文件浏览器被提取为独立组件,可以在网关和其他Web应用程序上复用。

    在Web UI中添加选择加入、匿名分析收集的机制。

    3、通过GUI推动对IPFS的理解和采用

    在Web UI中可视化DHT和bitswap信息,并帮助开发人员优化内部。

    (五)IPFS Cluster

    1、Cluster可编排大量数据

    解析用于分片的TO-DO(#496)

    在IPFS上登陆的深度为1的固定

    2、系统管理员能够轻松部署并检查Cluster

    我们可以在Graphana中显示一些自定义和非自定义指标

    我们添加完代码跟踪工具,并且可跟踪至少一条公共代码流

    适应性警报更智能地触发警报并重新固定

    Cluster的官方EKS部署及其周围的所有自动化代码

    3、Cluster可以扩展到成千上万个节点,并协同完成文件固定

    团队获得有关CRDT、当前实现(Peerpad)和分布式DB(Orbit)的知识

    Cluster的基于CRDT的共识层的第一个原型

    无领导重固定(删除对共识组件之外的Leader()的最后依赖)

    4、包含所有问题答案的文档

    至少记录一个部署方法

    第二轮插图

    重组网站以阐明Cluster概念和常见问题解答

    5、通过与主要合作伙伴的共生合作来定义Cluster产品

    至少一份充满图片的Cluster用户旅程,并为该用例确定所有的产品差距

    至少一份针对第三方用户的Cluster部署,以帮助他们备份IPFS上的数据

    与web-UI团队协作,为IPFS Web UI添加Cluster功能

    6、Cluster由高技能和积极性的团队组成

    该团队在第四季度新增1人

    定义适用范围明确的、可切换到外部团队或全新贡献者的3个工作包

    (六)基础结构

    1、提供强大的网关作为服务(go和js)

    将网关部署到可靠的云提供商

    通过<=一个文件更改,让网关可扩展到任意区域

    按需分段环境可用于测试升级和部署更改

    使网关日志可观察,并在服务异常时产生警报

    网关可用作Tor的隐藏服务

    2、基础团队为其他团队和社区提供支持

    其他团队可以阅读基础团队的工作需求、轨迹,以及在网页上确认故障单进度

    其他团队可以阅读有关如何在网页上使用托管固定服务

    制定待处理技术的优先计划,为团队规划提供指导

    公开100%的基础结构供应代码

    在网页上提供有关如何托管IPFS网关的教程

    3、发展团队并提高透明度

    新的基础结构专职工程师入职

    跟踪并持续提出KPI

    可在网页上找到清单和服务状态

    4、巩固CI作为一项团队服务

    为已知的公共和私有仓库提供CI服务支持

    团队可使用常见CI / CD工作流的模板和文档

    (七)开发团队支持

    (无)

    二、社区、教育和使用

    (一)社区

    1、为IPFS创建一个教育社区

    记录有关NodeSchool社区的讨论。

    协议学院:发布本地章节创建指南

    协议学院:创建去中心化数据结构教程

    协议学院:在现有教程中使用最新的IPFS / IPLD API(新的CID())。

    协议学院:GitHub组织结构,支持本地章节。

    协议学院:使得网站设计/布局支持本地章节和课程树。

    协议学院:确认是GitHub仓库的本地章节将立即呈现在网站上。

    2、明确、定期地与社区沟通正在发生的IPFS事件

    新闻通讯:自动化突出贡献者

    新闻通讯:每周一致的电子邮件

    新闻通讯:突出显示预定好的、即将到来的演示

    3、可访问的IPFS新贡献者体验

    定义“攻击计划”以改善IPFS新贡献者体验。

    通过预定演示领导每周的IPFS电话会议。

    三、支持特定用途的持续性努力

    (一)动态数据与功能

    1、PeerPad成为IPFS Org上Notetaking的默认设置

    PeerPad的项目经理入职

    PeerPad使用的CRDT(peer-crdt)是正确的(所有节点必须始终收敛到相同的最终状态)

    完成新的Peer Pad架构,并进行记录、审查并实施

    PeerPad满足标准IPFS All Hands的需求(参见写作说明)

    PeerPad成为JS Core Dev Meetings使用的Notetaking工具

    PeerPad成为Web Browser Meetings中IPFS使用的Notetaking工具

    PeerPad成为Go Core Dev Meetings使用的Notetaking工具

    PeerPad成为IPFS All Hands使用的Notetaking工具

    Peer-star的产品经理入职

    2、PeerPad的状态由IPFS固定功能的基础结构保留

    PeerPad使用IPLD作为其底层格式(通过peer-star-app)

    在Pad中完成的每个操作都被固定,并且监控这些引脚

    Pad可以完全由固定状态启动

    3、PeerPad快速且可扩展

    在libp2p之上实现了自定义CRDT同步协议(用于peer-star-app)

    通过Rendezvous libp2p服务发现对同一个Pad感兴趣的Peer

    Circuit Relay成为PeerPad使用的Transports之一

    10个对等协作的同步时间小于5秒,每秒10个操作

    节点在发现同一个Pad中合作的其他节点时,耗时不超过5秒

    WebRTC成为PeerPad使用的Transports之一

    4、Discussify成为一个可用的应用程序,可很好地实现宣布功能

    提交v0版讨论

    Peer-star-app支持协议中的身份和身份验证,“带来你自己的身份”的风格

    发布v0版身份管理器

    开发peer-star-idm:发布一个将peer-star-app的身份与身份管理器整合在一起的软件包

    将身份管理器集成到Discussify中

    (二)Web浏览器中的IPFS

    1、浏览器插件以稳定而直观的形式展示IPFS功能

    实现WebUI和配有Companion的新共享App在没有DNS的情况下工作(在离线/ LAN模式下)

    用户可以定义多个IPFS后端并在它们之间切换

    通过Companion随附的公共HTTP网关来实现哈希和CID验证有效负载的加载

    2、确保在浏览器环境中为Web开发人员提供流畅的体验

    window.ipfs 2.0准备就绪,并发布文档记录、博客文章

    切换base32 CIDv1作为整个IPFS生态系统的默认值

    Firefox和Chrome中的ipfs.add支持上传5GB文件,而不会崩溃或降低用户界面的速度

    在docs.ipfs.io中记录IPFS寻址和像“网关”一样的相关概念

    3、浏览器开发人员正在满足分布式Web的要求

    在arewedistributedyet.com上发布博客、叙述、时间表

    Chromium允许webextension注册没有“web+”前缀的ipfs://和dweb:handlers

    在Firefox Nightly中发布至少一个libdweb API

    默认情况下,Companion和嵌入式go-ipfs将随着基于Chromium的Brave一起提供

    libweb相关工作的C / C ++贡献者入职,从而支持Firefox和Chromum / Brave

    (三)去中心化数据管理

    1、使去中心化数据管理工作组的存在正式化

    正式组建工作组,为其成员命名,创建一个repo,并列出工作组所涵盖的工作

    准备好一切以聘请GLAM专家(编写招聘计划和职位描述;组建招聘委员会;确定招聘地点;从招聘工作组获得签字)

    创建一个表达问题陈述的文档,并将其链接到待处理和可能措施

    声明此工作组的KPI草案

    2、减少对DDS相关用户采用熟悉的阻止程序(即是,简化可简化的事,使难事可能解决)

    针对潜在采用者的“DDS on IPFS”,为在线资源开发和消息

    与社区工作组合作,围绕DDS用例编写案例研究

    取得IPFS实施团队的承诺,以实施允许列表和阻止列表

    发布信息资源,说明如何跟踪IPFS的版本历史记录

    发布信息资源,解释IPFS和X(Dat、Cluster、X)之间差异的

    发布信息资源,解释如何使用IPFS上的元数据(从libraries社区中查找元数据创建方面的专家,并将其与IPLD团队联系以编写访客博客帖子)

    围绕我们对策略,允许列表,阻止列表等的立场,发布明确的消息

    发布一份文件,说明如何应用去中心化工具来保存公共记录,并解释它将如何运作

    3、加深我们对DDS需求的理解,并将其转化为实施指南

    通过用户访谈、与关键合作伙伴建立关系的方式,为该用例确定所有的产品差距,至少要充分说明GLAM的用户旅程

    通过用户访谈、与关键合作伙伴建立关系的方式,为该用例确定所有的产品差距,至少要充分说明研究数据网络的用户旅程

    将这些旅程联系在一起,并传达这种统一叙述,展示我们将如何使用IPFS来支持他们(博客文章或视频或都用)

    与非政府组织合作,将其数据放入底层,并围绕提交视频和结构化数据的全球人员网络进行用户发现

    相关文章

      网友评论

          本文标题:IPFS 2018 Q4目标与关键结果

          本文链接:https://www.haomeiwen.com/subject/tzfpaftx.html