该项目旨在通过创建有用的方式来监控和可视化Portal网络的健康状况,并全面改进Glados,包括编写测试、改进Glados UI、创建图表,提高运行时复杂性,并改进Glados的导航,以便更多的人能够查看和理解Portal网络的健康状况,同时为开发人员提供帮助,使其能够快速识别错误并解决它们,以保护网络的安全。
我的项目正在解决的问题是创建有用的方法来监控和可视化门户网络的健康状况,并从各个方面改进整个glados,无论是编写测试、改进glados UI、创建图表、提高运行时复杂性还是改进glados的导航。这非常重要,因为它允许更多的人能够查看和理解门户网络的健康状况,特别是对于用户而言,并且对开发人员也很有帮助。这也很重要,因为能够可视化门户网络的健康状况以及哪里出错或失败的方式越多越好。
我为我的问题提出的解决方案是创建有用的方法来监控和可视化门户网络的健康状况,并通过创建不同的图表、编写测试、改进导航、致力于动态加载所有内容以提高运行时复杂性和改进用户界面来改进整个glados。可能会有更底层的改进,具体取决于事情的进展和我剩下的时间。
图表:首先找到我可以绘制的图表数据,这些数据可以让我们更好地/新颖地了解网络性能,然后找到最适合我显示的信息的图表,然后弄清楚如何从数据库中提取我希望显示的数据,并通过图表在页面上显示数据。我可能会展示的一些很酷的图表想法是
测试:当我们在glados中遇到问题或错误时,编写测试以确保我们不再遇到这些问题有时是一个好主意。我还会编写测试来帮助我找到可能出现问题的地方。我预见编写最多的测试是Rust集成测试,以确保一切正常运行并帮助防止这些问题再次发生,同时编写Rust单元测试来帮助我找到代码无法工作或运行遇到bug时出现错误的地方。我可以编写的测试的示例包括
UI:使用Figma创建一个粗略的草稿,说明如何改进UI,与门户网络团队一起运行它,如果他们批准,就开始在我的IDE中进行样式设置。
导航:实现诸如breadcrumb链接和顶部导航之类的功能。
动态加载:不会一次性加载所有内容,而是一次加载一件内容,以提高性能和降低时间复杂度。
(如果我有额外的时间) 更底层的特性:这将取决于我在奖学金期间的进展情况。但这将是一个额外的好处,具体取决于我的项目的进展情况,并且对我来说将是一个成长机会。一些更底层的特性的例子可能是
我想可视化的数据
能够可视化网络健康状况需要什么?能够可视化网络健康状况非常重要,因为如果没有它,我们只有在为时已晚时才知道出了问题。这可能涉及很多事情,但以下是一些示例
总的来说,我希望改进Glados,使其既具有视觉吸引力又具有高度的功能性,以便我们可以快速识别bug并解决它们,从而保护网络的安全。
在整个计划中,我一直在参加Portal Network Discord服务器上的每次每周会议,并在那里每周一和周四提供我的每周更新,我将继续在门户网络电话会议中提供我的每周更新,以完成其余的队列程序,甚至更长时间。
第一阶段:在以太坊奖学金计划的第一阶段,我已经强烈地意识到我想做什么并做出贡献,最终成为了glados。在第一阶段,我正在努力为glados做出我的第一个贡献,这是一个饼图,显示网络上有多少个节点以及它们是什么客户端,我还最终对以太坊和门户网络进行了大量研究,在合并此PR之前,我还需要做更多的工作,但是在进行此实施工作时,我最终学到了很多重要的技能,例如
第二阶段:在第二阶段,我开始非常努力地进行我的项目提案,并练习我的演示文稿,以便我可以尝试进行最好的演示。在奖学金的这一阶段,我还开始对kademlia和discv5进行了大量研究,甚至对以太坊和门户网络进行了更多的研究,以全面地真正提高我的知识和能力,以便在处理glados时查看和理解我查看的所有数据。我还对glados的大部分页面进行了样式设置,如果你查看我的开发更新中的PR,则可以查看样式设置前后图像,从而使它们看起来更干净,更现代。
第三阶段:进入第三阶段,我将开始实施该程序的第二个图表,我将在其中显示给定网络中的估计总存储量,在此阶段,我还将添加顶部导航/导航栏功能,并花时间在Rust中学习路由的工作原理,以提高查找所需内容的能力,并改善站点的整体导航。
第四阶段:在第四阶段,我计划开始实施我的下一个图表,该图表将显示网络上节点的平均数据半径,前提是我已经设法完成了正在实现的先前图表。我也会在此阶段添加breadcrumb链接功能。
第五阶段:到此阶段结束时,我将完成该程序的第三张图表的实施
第六阶段:(如果我有额外的时间,则为可选阶段):深入研究glados的更底层的工作原理,以添加新功能或优化。示例:优化人口普查代码以提供某些最初不打算使用的图表和视觉效果,提高内容控制面板(atm加载速度相当慢)的加载速度,进行美学上的改进或处理问题部分下的问题,并全面地尽可能地改进glados
虽然我已经阐明了我在程序的每个阶段的预期成就,但完成它们的时间表可能会变化。这是由于我的项目的双重性质,该项目同时处理手头的任务并参与持续的学习过程,以掌握实现我正在努力做出的贡献的技能。在本程序的后期,我可能会找到更好的数据来显示和绘制图表,因此我的路线图可能会在本程序的后期发生变化。
我认为我可能会遇到的一些可能的挑战是,一路上会遇到一些学习曲线,这可能会妨碍我尽快发布PR,并暂时停止我的学习和进步。
努力做出在审查后将被合并并且有用的贡献,同时又试图不要将所有时间都花在最终可能无法实现的事情上
以下是我认为我可能会遇到的一些学习曲线的示例,努力寻找如果显示在页面上有益的数据,并且可能努力弄清楚如何实施某些更改。
我认为可能会阻碍我的一件事是难以查看和理解某些数据。这不是问题,因为这是一次学习经历,并且我只会通过投入工作并希望学习来使自己变得更好。
将要实现的图表和功能的 goals 将随着项目的继续而发展。这是我在该领域研究的自然发展。我了解得越多,我就越能更好地洞察,从而更好地进行可视化和优化代码库。这个项目的一部分只是在做这项工作并找出答案,然后从那里重新评估。因此,我确实已经有了一个计划好的路线图,但是我相信我可能会想到更好的新想法。这些偏差可能会发生,这仅仅意味着最终结果比我在此当前提案中可以预测的要更好。
当然,这不用说,但我认为这是一个个人成长的绝佳机会,因此我很高兴获得这个机会,尽管非许可性的包容性结构确实在帮助我成长。自我完善和成长对我来说是项目非常重要的目标。所以感谢你提供这个机会。
研究员: KaydenML
导师: Mike Ferris
- 原文链接: github.com/eth-protocol-...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!