加入 PolkaWorld 社区,共建 Web 3.0!
接着昨天的文章,PolkaWorld 今天继续为大家带来 JAM 实施团队对 JAM 的解释、以及对发展现状的分享!
不论你是一个想要加入 JAM 的开发者,还是看好 JAM 未来发展的普通用户,这篇文章都值得大家去阅读和学习!
该内容较长,PolkaWorld 将分为两篇来发布,本文为下篇,主要涉及以下内容:
JAM 的核心应用场景是作为国家级的基础设施?
如何加入 JAM 开发?
JAM 的治理体系未来会怎么演变?
JAM DAO 的目标是什么?
JAM 的数据存不住?24 小时后会消失吗?
没有什么在 Polkadot 上绝对做不到的事情,只是有些事情在 JAM 上更容易、更高效
为什么 Polkadot 的治理要搬到 Asset Hub,而不是直接在 JAM 上运行?
JAM 对整个区块链市场有什么影响?
JAM 协议的开发分为几个阶段?
这么多的 JAM 客户端最后都会被使用起来吗?
开发者期待 JAM 生态中有什么样的功能或工具?
JAM 如何提升 Polkadot 未来的用户体验?
继续阅读,查看全部内容!
上篇《JAM 是构建真正 Web3 的唯一路径?听听这些 builder 怎么说》
JAM 的核心应用场景是作为国家级的基础设施?
Q1:关于 Polkadot 在去中心化程度上领先其他区块链的说法。你觉得,各国政府、机构、大公司,真的准备好完全去中心化了吗?还是说他们更倾向于选择像以太坊这样存在中心化控制点的链,以便进行监管或审查?
Daniel:我来回答这个。我非常坚定地认为 JAM 的核心应用场景是作为国家级基础设施。你想想看,现在全世界其实只有少数几个国家,在科技基础设施上是完全自主的。绝大部分国家其实都依赖谷歌、亚马逊这些中心化的云服务提供商。比如我是巴西人,巴西有两亿人口,但即使是这么大的人口基数,巴西也追不上亚马逊、谷歌这样的基础设施水平。最终,大多数国家只能依赖美国或中国的大公司。
但如果这些国家能基于区块链,基于像 JAM 这样的系统搭建自己的基础设施,那他们就能真正实现技术主权,他们不再需要信任某个国家或大公司。所以我反而认为,Polkadot 和 JAM 是国家实现技术自主的唯一途径,如果他们信任以太坊,那实际上就是信任了两个主要托管在美国的中心化节点,根本称不上主权,只有 Polkadot 和 JAM 能给这些国家真正的主权,这也是我这么看重它们的原因。
如何加入 JAM 开发?
Q2:你好,大部分项目目前还不是很开放,很多细节也不透明。假设我刚完成了一个两周半的强化培训班,学了很多 Rust 语言和其他知识,现在我想找机会参与到你们的项目中,应该怎么联系你们团队呢?
Maciej:我这里有一些建议。首先,你可以去看一下灰皮书的页面。读一遍灰皮书,不用要求自己百分之百理解,简单浏览一下就好,了解个大概。然后灰皮书页面上有一个“实现团队列表”,上面列出了参与实现的各个团队,大概有 40-50% 的团队留下了联系方式(比如 Telegram 账号或者邮件地址)。你可以根据名字去谷歌搜索,或者直接发消息联系他们。如果想直接加入现有团队,这是比较推荐的路径。当然你也可以自己找同学或朋友组建一个新的团队,这也是个不错的选择。
Tomek:对,还有一个方法 —— 可以加入 Element 群组(一个去中心化的聊天平台)。灰皮书网站上也有 Element 群的链接,主要有两个群:一个是灰皮书讨论群,一个是 JAM 总群。你可以在群里发个消息,做个自我介绍,说你想加入项目。很多 JAM 的开发者都在里面,他们有的还有自己更小的团队群组,会邀请你进去。每个团队的路径可能不太一样,但这样你能找到适合你的机会。
Daniel:对,现在大概有 35 个团队在做,有些团队可能暂时不接受新成员,但也有很多团队是开放的。建议你多联系几个团队,尝试看看哪边适合自己。如果实在没有合适的,完全可以自己组队,一起推进。
JAM 的治理体系未来会怎么演变?
Q3:机构总渴望保留控制权,按常理说,他们可以买 DOT 代币,通过治理获得影响力。但据我了解,未来 DOT 主要是用于 Polkadot Hub(为平行链服务的部分),而更底层的 JAM 呢?JAM 的控制权该怎么设计?因为普通代币持有者可能根本不懂这些复杂的升级问题,他们是不是应该有投票权?目前有这方面的讨论吗?因为我觉得这是 JAM 很重要但还没有明确解决的问题。
Maciej:这个问题确实很难回答,因为它本质上是“JAM 的治理体系未来会怎么演变”的问题。就目前的设想:
1. DOT 持有者将通过现有 OpenGov 参与 JAM 治理,但权限可能收窄,不会像以前那样直接对 Relay Chain 的运行时升级投票 —— 因 JAM 链本身不可升级(仅支持硬分叉);
2.技术联盟(Fellowship)重要性将提升,因其成员多来自 JAM 实现团队,具备协议迭代的专业能力;
3.正在开发的 JAM SDK、参与开发的贡献者也可以通过一定机制快速加入 Fellowship,形成一个技术专家 DAO,帮助管理协议的未来。不过,这只是我个人的理解,其他人可能会有不同的看法。
Alistair:是的,确实还没有确定答案。治理模式肯定会演变,Fellowship 肯定会变得更重要。未来可能会类似以太坊那种多客户端(多实现)生态,只是我们希望比以太坊实现的更快一些,不至于等五年才能搞定一个功能。但具体怎么做,目前还很难说。
Daniel:不过你看一下现实情况,虽然我们不知道未来具体怎么搞,但相比其他链,我们至少有 OpenGov 可以用。其他链,比如以太坊,几乎没有真正的链上治理,代币持有者根本没有什么话语权。而 Polkadot 至少给了我们探索治理和技术结合的空间,虽然很难,但这已经是最好的选择了。
Tomek:从工程师的角度来说,现在还是可以做一些预测的:
平行链(parachains)依然可以无分叉升级,这点不会变。Fellowship 很可能继续接受 OpenGov 的约束,也就是说最终 DOT 持有者还是有最高权力。JAM 服务是无许可的,任何人都可以部署新的服务。服务本身也可以设置成支持升级,比如开发者可以授权自己更新服务代码。要部署和运行服务,需要“核心时间”(coretime),而获取核心时间很可能还是用 DOT 来支付。
所以你可以看到,DOT、OpenGov、Fellowship 这套体系虽然形式变了,但本质上还是围绕这几个核心在运转。而且不要忘了,虽然 JAM 基础设施是去中心化和抗审查的,但在上面搭建的服务完全可以自己选择是开放的还是中心化的,这就是灵活性所在。
JAM DAO 的目标是什么?
Q4:我听说最近成立了一个 JAM DAO,你们几位应该也在这个 DAO 里吧?能不能详细讲讲它的目标是什么,以及你们对未来,比如五年、十年后的愿景?毕竟你们也在亲自构建 JAM,应该也希望能在未来发展中发挥作用吧?
Daniel:嗯,JAM DAO 其实是最近几周才刚刚成立的,非常新。这个 DAO 的核心想法是:现在设立了 JAM Prize,奖金会以锁定状态的 DOT 代币发放。这意味着未来大量锁定的 DOT 都会集中在 JAM 开发者手里,相当于我们掌握了 Polkadot 开放治理体系里的大量投票权。
所以成立 JAM DAO 的初衷就是:既然我们手握这么多治理投票权,就需要开始协调行动、互相了解、积极参与到其他提案的讨论中。说实话,我自己一开始对 OpenGov 几乎一无所知,作为一个普通开发者,我其实不太喜欢掺和政治事务。但现实情况是,经过这段时间的工作,我们都意识到有些关键决策必须参与,如果我们自己不发声,别人就会替我们做决定。
所以 JAM DAO 的成立,就是为了让开发者们能够一起行动,一起为我们心目中 Web3 的未来发声。当然,现在 DAO 还处于很早期很松散的阶段,但随着时间推移,希望能有更多人参与进来,一起为协议的发展投票、做决策。这就是我们现在在做的事。
JAM 的数据存不住?24 小时后会消失吗?
Q5:昨天我有机会问了 Gav 关于那个分布式数据湖(Distributed Data Lake)和纠删编码(Erasure Coding)的事情。我的理解是,大部分用来计算的数据,都会来自这个数据湖,而最终只是以哈希的形式提交到链上。那么问题是,既然这些纠删编码的数据块会在 24 小时后被清理掉,那是否意味着我们的资金数据在 24 小时后就会丢失?
Alistair:当然不会丢啦。我想你们都了解 Polkadot 的运作机制吧?这里的情况是完全相同的。在 Polkadot 中,我们存入数据可用性层的是平行链区块的 POV 数据,也就是各平行链的状态更新记录,而不是平行链本身的完整状态。如果一个平行链的区块生产者(比如 collator)没有及时分享数据,其他人还是可以从数据可用性层拿到。不过呢,如果你的服务类似“平行线程(parathread)”,也就是只有一个生产者的话,而且万一这个生产者挂了、数据也丢了,而又没人备份的话,那么过了 24 小时后确实就无法恢复了。
所以在 JAM 中,我们希望能发展出一整套超出基本验证者之外的数据备份网络。也就是说,未来应该会有一些专门的服务或者节点,负责把这些数据保存得更久,而不是仅仅 24 小时。但目前这些还没完全建好,因为 JAM 生态还处在早期,连基础的验证者和链都还在建设中。不过可以肯定的是,未来会有办法让数据保存得更持久。
Q6:所以这是不是意味着,我们仍然需要为服务部署专门的 collator 或 block builder?是不是 JAM 上真正可行的服务,还是更像是跑一个类似 parachain 的项目?而不是像部署智能合约那样,部署了就不用管基础设施了?
Alistair:不完全正确。我们确实可以将所有状态数据存储在数据可用性层中,但要想让数据保存超过 24 小时,你需要依赖外部参与者。不过这些存储数据的参与者并不局限于只保存某一条链的历史数据,也无需存储全部内容。因为我们已经引入了数据分片和编码机制。这就让我们有机会打造出一种类似于以太坊轻节点(light client)的模式,有很多分散的节点保存部分数据,这种机制能让你利用现有的数据恢复机制,从验证者之外的节点获取纠删码分片数据,理论上这些数据可以永久保存。当然,这确实需要有人来搭建基础设施,但这些设施既不需要中心化运营,也不需要与特定链绑定。
Q7:我唯一担心的是,我们仍然面临同样的博弈论问题——我们需要激励外部各方来存储我们的数据。虽然基于 JAM 的底层链能保障状态转换的安全性,但不能保证数据的“活性”。所以我们必须想办法让别人愿意永久存储我们的数据。
Alistair:是的,你永远不可能自己保存所有数据,必须激励他人参与存储。但去中心化的可能性在于:让每个参与者只保存很小的数据分片,这样存储成本并不高。这不是无法解决的问题,我们不需要依赖某个中心化服务来保存全部历史数据。当然,验证者的激励机制也存在同样挑战——我们通过系统机制激励他们保存数据,但不可能要求他们永久保存,否则存储需求会变得不切实际。
Maciej:再补充一点,像 Polkadot Hub 这样的服务在 JAM 中可能依然存在。比如你只想部署一个智能合约,不想管太多,那可以有人在 Polkadot Hub 上实现相应的激励协议,来运行 JAM 中的 collator。你就只需要部署智能合约,其他的可以“甩手不管”。这是一种可选项,听起来也是你想要的模式。
Tomek:我觉得这里关键的一点是:虽然对数据存储的需求依然存在,但 JAM 是放宽了这个要求,并且把控制权交还给了开发者。你可以选择把所有东西都存储在链上,但这样你就受限于链上容量,而且你得为此支付相应费用。反过来,你也可以选择把所有数据都放在链下的数据湖中,那就需要考虑如何激励别人来帮你存储这些数据,并相应地付费。
没有什么在 Polkadot 上绝对做不到的事情,只是有些事情在 JAM 上更容易、更高效。
Q8:目前用户有哪些需求或功能,是在 Polkadot 上无法实现,而必须转向 JAM 才能满足的?
Maciej:我觉得最先想到的可能是“Coreplay”(核心执行)的概念。虽然我对这方面不是特别了解,但据我理解,Coreplay 能实现一种无限制的执行——代码可以跨越多个区块逐步在链上执行,而且支持用普通编程语言写 for 循环等逻辑。这类功能在 Polkadot 上目前是做不到的,而 JAM 可能会实现这一点,不过我不太清楚 Coreplay 现在的具体进展状况。
Alistair:我对此的看法是,其实没有什么在 Polkadot 上绝对做不到的事情,只是有些事情在 JAM 上会更容易、更高效。比如 Corplay 这样的东西,理论上你也可以在 parachain(平行链)上实现,但你需要管理状态的存取、跨链的数据协调等等,这在目前的模型中并不容易。
另外,人们现在使用 Polkadot 的方式,其实远没有发挥出它的全部潜力。大家还停留在“一支团队做一条链,而且都差不多”的思路上。我们当初设计 Polkadot 的 Crowdloan 系统,某种程度上模仿了当年 1C0 热潮的机制,这可能并不是个好方向。随着 Polkadot 2.0 的新功能上线,我们已经在探索超越 parachain 模式的路径,而 JAM 是这个演进过程中的下一步。总之,理论上没有什么是 parachain 做不到的,只是并没有人真正去做或解决这些难题。
为什么 Polkadot 的治理要搬到 Asset Hub,而不是直接在 JAM 上运行?
Q9:我想问一下关于资产中心(Asset Hub)迁移到 JAM 的问题。据我理解,我们现在之所以将治理、代币等核心功能迁移到资产中心,是在为未来切换到 JAM 做准备。但我的疑问是:JAM 最终还是运行在一个 runtime 下,我们还是会有 GrandPa(共识机制)和核心虚拟机(core VM)。既然如此,为什么我们不能直接在 JAM 的 core VM 上实现治理?为什么必须把它迁到一个单独的服务上?这不是反而引入了更多关于数据丢失、节点运行等安全问题吗?
Tomek:让我来解释一下。核心虚拟机服务依然需要有人来运行 —— 不能指望 JAM 一部署就自动运转。也就是说,作为一种服务,它需要“核心时间”(core time),必须由某些节点或参与方提供,来执行你的服务。虽然验证者会确保服务执行正确,但“谁来提供核心时间”这个问题还需要明确——我们目前称之为“collators”(收集者)的节点网络就是要解决这个问题。
事实上,Gavin 昨天就曾提到关于 Coreplay 的提议结构,你可以去查相关录音,我这里就不再重复。其次,你问为什么不能直接在 core VM 上运行治理?因为从实现的角度来看,最简单的路径就是把我们现有的系统先搬到 JAM 上,然后逐步把其中的部分变成 JAM 的原生服务。
Alistair:我理解你的问题更像是:既然我们未来 JAM 会更通用,为什么不一开始就把所有功能(比如治理)都放在中继链(relay chain)上?答案是:中继链不是为了做所有事而存在的。我们想要的是模块化、可理解的架构。如果一切都放在中继链上,那就会变得非常复杂且难以维护,扩展性也差。所以,我们必须将 Polkadot 的核心功能迁移到 Asset Hub 上,作为迁移到 JAM 的准备。这样做的核心原因之一就是简化中继链,让它更“精致”、可维护。
当然,这也带来一个新的问题:我们需要确保 Asset Hub 的数据不会丢失,需要有足够多的全节点来保障它的可用性和抗审查性。否则,我们从原来 Polkadot 拥有的一千个验证者的高安全性,就变成了更脆弱的结构,这是不可接受的。
Maciej:还有一个原因是我们希望未来的治理系统是可升级的,而中继链的核心协议本身是不可升级的。如果你把治理机制直接嵌入核心协议,那将来要更新它就很麻烦,甚至不可能。所以我们最后的结论是:不如将它作为一个“服务”运行,这样更灵活、简单、模块化。否则一旦要改动,不仅浪费工作量,还会把系统复杂度拉得很高,不利于维护和发展。
JAM 对整个区块链市场有什么影响?
Q10:大家好,之前有提到 JAM 将如何影响 Polkadot 的开发和中继链,那么你们觉得 JAM 标准对整个区块链市场会有什么影响?它未来会不会成为业界的标准?
Maciej:这个问题其实迫使我们下一个赌注。我们所有人都在致力于这个项目,因为我们相信 JAM 有希望成为行业标准。回顾过去,比如 Polkadot Hub 和 Asset Hub 的迁移,很多人喜欢在 Solidity 上开发,所以我们就为他们在 Polkadot 上提供了 Solidity 智能合约。同样,JAM 也会支持更多跨链桥接,让大家能够从以太坊或其他生态系统中迁移资产。如果有人需要 Solidity,那当然可以实现;如果需要高吞吐和低费用,也能满足;还有人偏好平行链的开发模式,也可以有相应的方案。总体来说,JAM 将覆盖不同细分市场和用户群体。只要生态系统内拥有完善的智能合约工具,我很难想象还有什么需求是未来 Polkadot 生态无法覆盖的。
Alistair:确实如此。我们一开始就在技术上有优势,而现在我们正在进一步强化这个优势。但我们也意识到,Polkadot 在部署和用户体验方面还不够友好,所以在 JAM 上,这方面的改进非常重要。如果 JAM 协议要成功,就必须让更多开发者能便捷地在上面构建应用。
JAM 协议的开发分为几个阶段?
Q11:现在有多少开发团队是真的承诺要做出一个能上线生产环境的 JAM 节点?还是说大家只是想“做完某个阶段的里程碑”就行?你们有没有了解,目前到底有多少团队是真正冲着最终产品去的?
Daniel:这个问题确实不太好回答,因为 JAM 是一个开放协议,任何人都可以自己在角落里偷偷开发,理论上可能有上百个团队在做。但从我的观察来看:
在官方的 gray paper 网站上,有 38 个团队公开宣布他们在做 JAM。其中大概 20 到 25 个团队在聊天群里比较活跃,会提问题、反馈建议,说明他们真的在干活。我们还在组织 JAM 的线下聚会,参加这些聚会并且愿意交流协调的,大概有 15 到 20 个团队。从这些团队里,大部分应该至少能走到第三个里程碑(milestone 3)。
当然,能不能走到第五个里程碑,还要看后续发展。我的猜测是,最终会有至少 8 个成熟的 JAM 实现版本——这数量已经远超任何其他区块链协议了。不过这只是我的猜测,我们可以现在打个赌,五年后看谁猜得准,哈哈。
Alistair:其实现在大家还来得及,如果想参与、冲刺到里程碑五,还是有机会的。
Daniel:是的,如果你想问:“还能不能拿奖励?”答案是:可以的!现在加入也不晚。
Alistair:我稍微担心的一点是,后面四、五阶段的奖励是不是给得够多,因为这会影响大家能不能坚持到最后。另外,灰皮书对于共识机制那些部分其实还没完全细化清楚,现在也没人在认真做那块,但迟早得有人做。
Maciej:我同意。随着大家开发越来越深入,会冒出更多细节问题,大家在聊天群里不断讨论、提问,“这个地方是不是写得太模糊?”这样不断地推动协议细化。现在我们已经开始逐步触及 Elves 共识等核心模块了,这让我很兴奋,感觉整个协议正在慢慢成型。
Tomek:我也很认同前面说的。从我的角度看,里程碑一到二之间的跳跃最难。迈过一到二的人,基本可以看出是真的在认真干了。迈过二到三之后,虽然还有一些挑战(比如性能优化),但整体难度就没那么陡了。如果看到一个团队完成了三,那几乎可以肯定,他们会坚持走到最后。
Q12:你们说什么“第五阶段”,但具体是啥意思?还有,现在灰皮书上到底有多少是明确规范了的,又有多少是还没明确的?
Daniel:好的,简单解释一下 JAM 的五个里程碑:
Milestone 1(第一阶段):是实现“区块导入”和“状态转换函数”的正确执行。虽然还不是整个协议的完整实现,但大概算完成了一半左右。Milestone 2(第二阶段):搭建一个完整的节点,包括链下(off-chain)相关的所有模块。比如数据可用性层、节点间的通信网络这些都属于链下部分。走到第二阶段,你基本有一个能跑起来的完整节点,虽然性能可能还很差。Milestone 3(第三阶段):把性能优化到和 Kusama 差不多的水平。这意味着节点至少能在测试环境中流畅使用。Milestone 4(第四阶段):进一步优化到接近 Polkadot 的生产环境性能水平,可以支持正式上线。Milestone 5(第五阶段):经过独立审计机构审核,确认这套软件安全可靠,可以放心部署到任何地方。
所以整体上:
一阶段是让区块能正确导入。二阶段是让节点完整跑起来。三、四阶段是性能调优。五阶段是通过审计,确认软件质量。
第五阶段其实也不仅靠团队自己,审计方会提出修改意见,必须按要求修正后才能通过。
这么多的 JAM 客户端最后都会被使用起来吗?
Q13:现在有很多激励是为了鼓励大家开发各种不同实现版本的对吧?那等奖金什么的发完之后,未来还有什么动力能保证生态里一直有多样化的实现呢?不会最后又只剩下一两个版本吧?
Kian:这个我可以简单回答一下。其实 JAM 的奖金不仅是一次性的,它也承诺了一个机会——加入 Fellowship。我们希望,那些能完整走完所有五个里程碑的团队,他们的关键成员大多数都能加入 Fellowship。Fellowship 本身是有工资的 —— 如果从纯粹的金钱角度来看,它就是一种长期的经济激励。而且,像 Daniel 刚才说的,完成了五个里程碑的团队,会得到一大笔锁仓的 DOT 作为奖励,这本身也是一种持续激励。
Daniel:不止这些。如果你能把 JAM 开发到 milestone 5,那说明你已经掌握了非常深入的区块链开发知识。那以后你就能在 OpenGov 上提议各种改进提案,拿到链上资金支持去开发更多新东西。你的知识、你的声誉,都能转化成真正的资源。所以说,做完 JAM 后,你在整个生态里就是有影响力的人了,之后想做啥项目都比较容易拿到支持。
Tomek:对,补充一下 Kian 说的:根据规则,每交付一个里程碑,团队里可以有一个成员被提名为 Fellowship 的三级成员。而且,加入 Fellowship 不只是拿工资那么简单的,它是有责任的。Fellowship 的职责是长期维护协议的。所以将来 JAM 的这些实现者加入后,他们的责任可能是继续维护各自做的实现版本。如果某天发现,没必要维护那么多版本了,可能大家会合并资源,共同维护一个或几个核心版本。
Maciej:补充一下,Fellowship 的所谓"神秘激励",其实本质上就是发工资——就是你作为协议维护者拿到的薪水。
Q14:我刚才问的其实也不仅是钱的事。我是想问,未来怎样确保客户端多样性?不会说,最后因为某个实现最厉害,大家全跑那个,其他的都没人用了吧?
Tomek:这个问题我有两个想法。
第一种是:选择不同实现的原因是提升网络的抗故障能力。比如说,以前比特币曾经出现过某个矿池快达到 51% 算力的情况。当时,虽然那个矿池的收益最高,但很多人还是选择退出,把算力转移到其他矿池。为什么?因为社区有共识:我们不能让一个矿池掌握过多权力。这种“社会共识”机制帮助网络避免了中心化的风险。同理,在 JAM 的实现中,如果整个网络只运行一个客户端版本,一旦这个实现出现 bug,整个网络都可能出问题。所以出于安全和稳定的考虑,大家会倾向于保持一定的实现多样性。
第二点是:这也取决于 JAM 实现者本身的策略。我可以想象,不同的实现可能会在不同的运行模式或特定场景中进行优化。比如某个实现可能特别适合运行在 Apple Silicon 上,而另一个实现可能在 AMD 处理器上更快。还有的实现可能会加入额外的功能 —— 比如说(虽然我不一定鼓励)一些与 MEV 相关的功能。这给了实现者一个创新空间:可以根据不同需求开发出独特功能,吸引用户选择你的客户端。
Daniel:我再补充一点:因为每个实现都是用不同编程语言写的,所以它们自然会吸引各自的开发者社区。比如我们团队用的是 Elixir,那以后 Elixir 社区的开发者会更愿意用我们的版本,继续在上面开发。大家都知道,开发者对自己的编程语言是很有感情的,所以不同语言、不同社区,会自然而然地维护自己喜欢的版本。
Alistair:对,我也想强调一下:就算现在有 95% 的验证人都在使用某个性能最好的实现,但不代表两年后还是这样,生态是动态的,不断变化的。
开发者期待 JAM 生态中有什么样的功能或工具?
Q15:你好,之前 Tomek 提到他的团队开发了一个工具,用于阅读灰皮书。我想知道现在是否有其他团队也开发了类似的工具,或者其他团队是否分享并使用了这些工具?这些工具是合作中产生的吗?如果没有的话,那你们有没有什么“想看到别人做出来”的工具?
Daniel:我看到的工具并不多,所以这个领域其实还有很多创新空间。我就说说我们团队吧,我们现在的工作重心完全是在开发 JAM 上,所以暂时没有时间去做其他的工具,也不想浪费时间。目前我们的团队很小,只有两个人。不同团队的情况不同,有些团队可能会花更多时间做工具开发,随着里程碑的逐步完成,你可以扩大团队规模,招更多开发者来做这些事情。
但目前我看到的工具里,Fluff Labs 做得非常棒,他们做了 PVM Runner,支持在浏览器里运行,可以将任何兼容 PVM 的二进制文件加载到浏览器里进行模拟运行。
另外,PVM 还有一个灰皮书阅读器。另外,我注意到目前还缺少一个很有潜力的工具:JAM 节点会有内部统计数据,这些数据会存储在链的状态中,记录着关于 JAM 链的元数据。
现在我们还没有一个可视化的方式来展示这些数据,只有通过日志之类的方式查看,如果能有一个可视化界面,能展示链上运行的节点和它们的状态,做一些图形化的展示,那在短期内一定会非常有用,尤其是在开始运行测试网的时候。
Tomek:昨天,Gav 展示了他开发的 JAM top 工具,或者是他团队的成员做的,是一个可以在 JSON 和 JAM 编解码器之间转换的工具。另外,Graymatter 团队在维护一个完整的文档网站,里面有 JAM 链的文档、灰皮书的一些摘录以及其他资源的链接。
还有一个挺有意思的想法,是有人在 JAM 实现者会议上提出的:为 Element 聊天群开发一个搜索引擎,可以索引所有消息。因为 Element 自带的搜索功能不太好用,所以这会是个实用工具。
Kian:我也可以补充一点,JAM 奖金的要求之一就是各团队要展示他们的提交历史,确保提交记录是透明的,没有做什么不合规的操作。所以我们团队开发了一个工具,作为 GitHub Action 的一部分,在每次提交时都会在 Asset Hub 或某个链的系统上发布一个带有提交哈希值的备注。这样,我们的 Git 提交历史就公开在链上了。至于我个人的愿望清单,我没有什么特别想要分享的。
JAM 如何提升 Polkadot 未来的用户体验?
Q16:你们之前提到,Polkadot 现在的用户体验有点不足,我想问一下,JAM 或者说 JAM 时代会如何解决这个问题?你们对 Polkadot 未来的用户体验有什么期望?
Daniel:我觉得这其实不在 JAM 的范畴内,JAM 主要关注的是底层协议的建设,我同意 Polkadot 在用户体验上确实有待提升,但这不属于 JAM 的职责范围。JAM 只是建造了道路,至于车子如何在上面行驶,车的颜色是什么,这些都不在 JAM 的考虑范围内。当然我们是在铺一条更好、更平整的“沥青路”,所以在它上面建的应用、做的体验自然会有更多可能性,但这并不意味着会直接改善开发者的体验,这个需要并行进行改进。
Maciej:完全同意,我觉得解决这个问题的不是 JAM,而是 Polkadot Hub 上目前正在进行的工作,像 Polkadot 应用和周边工具正在努力解决这个问题,我认为这是个值得关注的问题。
Q17:我倒不觉得这个问题很严重。其实我挺有信心,现在 Polkadot 的用户体验已经比三四年前好得多。记得我刚加入生态时,只有 Polkadot JS,那时候作为新手,体验是非常差的。而现在你有了 Nova 钱包、SubWallet 这些钱包,还有各种移动端的选择,我认为这些都是顶级产品,而且很快就会有 Polkadot App 发布,所以我的观点是,JAM 是在底层做架构变革,但我们跟 Polkadot 的交互方式还是通过这些前端工具,它们在不断改善,而且现在其实已经做得很好了。
Maciej:我同意,钱包的情况确实有了很大改善,还有很多进展空间。比如说,Polkadot Hub 上支持了以太坊智能合约,我们可以开始利用以太坊的工具、IDE 等生态资源。我不知道你们在课程中有多少人接触过 Solidity 智能合约,但我们这边已经有一些以太坊工具的原型和分支在使用,大家可以借用这些工具,直接在我们的生态中使用。
Tomek:对,我认为还有一点值得注意的是,未来可能会有两条并行发展的路径。
一方面,现在 Polkadot 上已有的东西,大概率会迁移到 JAM 上来。我们不会从零开始,而是会在现有基础上继续演进、持续优化。
另一方面,像 Maciej 刚才提到的,未来在 JAM 上新构建的服务,也许反而会面临更高的 UX(用户体验)挑战。因为 JAM 的架构相对复杂,涉及的组件更多,开发初期可能更难做出流畅好用的产品。
但也正是因为如此,开发者可以从头开始,构建符合自己需求的服务。未来 JAM 上的用户体验究竟会如何发展,最终还是取决于你们这些开发者,取决于其他团队如何创造服务和 SDK 来建设这个生态。
Kian:好像问题已经问完了,非常感谢各位嘉宾的分享,也感谢观众们的提问。再次祝贺大家,今天是 Academy 的最后一天,也是你们在这里的最后一个阶段,现在可以去休息了,祝大家晚安,谢谢!