专访波卡核心开发者:平行链背后的开发故事
2017 年,Bastian Köcher,aka 「Basti」 申请了一份他以为是 C++ 开发人员的工作。结果,人家是想找可以使用新的 Rust 编程语言进行编程的人。所以他说:「没关系,我能学。」
几年后,他将自己的 「没关系,我能学」 的思想带到了 Parity,在这里,他很快就着手开发了可观的 Substrate 代码库。他在 Substrate Technical 频道上经常出现,帮助开发者对他们的 Substrate 项目进行故障排除。目前,他正在编写备受期待的 Cumulus 代码,它将连接 Polkadot 平行链。
我与 Basti 聊了聊,讨论了如何协调 Substrate 开发,他支持 Substrate 开发人员社区的动力,以及如何让平行链互相交流。
你的教育背景是怎样的?
我拥有计算机科学学士学位和硕士学位。我的学士学位是在一个合作学习计划中拿到的,当时我在 IBM 工作。
你的 Rust 经历是怎样的?
在 2017 年,我的主要工作是将 C++ 重写为在路由器上运行的 Rust 软件。这份工作让我接触了 Rust。接下来,我加入了一家初创公司,致力于将 IoT 设备的控制权交还给用户。目前,你无法控制所购买的 IoT 设备。如果公司关闭云服务,则你的设备将失效。我们的想法是以注重隐私的方式在本地控制设备。育儿假后,我决定跳到一家更稳定的公司。我还想继续使用 Rust 工作,所以我于 2018 年 9 月开始在 Parity 工作。
在 Parity 工作感觉如何?
感觉很好。没有人关心你在哪里或何时工作 —— 只要保证交付就行。一开始是艰难的时期,因为学习曲线特别陡峭。我感觉好像在盲目地飞行 —— Substrate 已经是一个庞大的项目,我不了解自己正在从事的工作的全局。但我总是喜欢接触新事物。我喜欢探索它的工作方式以及交互方式。我认为这是我的强项之一:我就是深入研究代码,获得理解,然后开始做。
你对深入研究像 Substrate 这样的大型代码库有什么建议吗?
别放弃。我知道这很难,但是例如,我正在用以前从未接触过的 Polkadot 调试与网络相关的某些内容。为了弄清楚发生了什么,我在每个地方都添加了打印行,例如 「now we’re here,」「now we’re here,」「now we’re here,」,这样我就能大致了解情况。有时,你可能会引起恐慌,这非常好,因为你会看到来自何处的回溯。
开发 Substrate 最困难的部分是什么?
该项目的规模是如此之大。有时你只想更改一行,但是您必须触及许多文件才能执行此操作,因此你需要了解这些部分是如何组合在一起的。这一点真的很具有挑战性。
大家开始在 Substrate 上开发时,你经常会看到什么错误?
很难说什么是最常见的错误。大家会犯很多不同的错误。有些人既是 Rust 的新手,也是 Substrate 的新手。我认为对于这些人来说真的很难,这就是为什么我建议在研究 Substrate 之前先开始学习 Rust 的原因。我们正在将 Rust 推向极限,因此,当你不熟悉 Rust 时,真的很难理解某些 Substrate 构造。
你在 Substrate Technical 频道里非常活跃。你喜欢回答问题吗?
总的来说,我真的很喜欢回答问题。因为我也总觉得自己处于尝试进入某个大型项目,但对项目的理解还不够的阶段。也经常会遇到难以找到解决方案的时候。但是从事该项目的人员很快就能知道解决方案。我对 Substrate 也是这样。我已经看到很多错误和 bug 等,我知道大部分错误的答案。所以我很高兴能帮助大家更快地完成工作。:)
Substrate 开发者是如何协调工作的?
对于主要需要解决的事情,我们用 issues。这一步由 Gav 和其他知道我们还缺哪些内容的人完成。除此之外,大家都是自己工作。刚开始时,我有一些 Gav 说要做的事情,有时候我只是自己工作。我知道我想要实现的目标,因此我心里对需要做的事情有了计划。我对可以改进的地方有很多想法,并在可能的情况下进行改进。但是,如果你不熟悉 Substrate 的话,就很难知道你应该做什么。最近,我们开始更加结构化。这意味着我们现在拥有负责 Polkadot / Substrate 各个组件的人员,他们对这些组件有很好的了解,可以更好地协调工作。
人们为 Substrate 做出贡献的最佳方法是什么?
我们确实有一些定期的贡献者,如果你要做一些孤立的小任务,则相对来说比较容易。甚至其他任务也可能很容易,只是需要花更多时间弄清楚它们是如何组合在一起的。
对你来说,Polkadot 最令人兴奋的事情是什么?
看到平行链互相交流。从技术角度来看,这一点真的很有趣。
除了 Substrate 服务台之外,你还有其他爱好吗?:)
体育和花时间陪我儿子。我也非常喜欢做饭,这跟开发有点像…… 在烹饪时你可以充分发挥创造性。当人们喜欢你的食物时,会给你一种良好的感觉。
Scan QR code with WeChat