Parity 老炮儿、核心开发者 Tomasz Drwi?ga 在 2016 年 1 月加入了 Parity ,他是 Parity 第 7 号员工(他指出是 007 号),见证了公司从 4 个在 Airbnb 写代码的开发者,迅速成长为今天拥有 78 人和多间办公室的公司。 Tomasz 最初致力于 EVM 实现,后来专注于 JSON-RPC 接口,用他的话说,就是 “将核心客户端、dapp 和外部开发人员粘合在一起的部分”。他还负责以太坊(Parity Ethereum)的交易池及其大部分出块代码。他目前正在指导新的以太坊(Parity Ethereum)贡献者和编写 Substrate,包括实现 RPC、交易池和链下工作机(off-chain workers)。 Tomasz 一直以来都是一个非常善良和乐于助人的人,因此我很高兴与他聊天,并了解他的更多故事。 你是怎么加入 Parity 的? 我在弗罗茨瓦夫(Wroc?aw)的联合办公空间里遇到了 Marek Kotewicz,那时一个共同朋友正在向我们俩介绍比特币。Marek 邀请我加入最初的开发团队,团队里只有 Gav、Arkadiy 和他。对我来说,这是改变生活的绝佳时机,用 Rust 来编写区块链听起来是一个了不起的机会。我们没有办公室,所以工作是在随便一家咖啡馆或静修期间进行的,这对我来说也是一种全新的体验。那是一段好玩的时光。 公司是如何发展的? 它成长了,成长了很多,而且成长得非常快。最初我们只有由 4 个开发者组成的团队,在随便找的 Airbnb 里开发以太坊客户端。而我们现在是一家拥有 75 名员工的公司,有很棒的办公室,同时做着着许多个区块链项目。然而(坦率地讲,这让我挺惊讶的)我们的文化至今还很相似 —— 我们仍然是一群极客,可以自由地以不受管理的方式,从事任何听起来有趣的事情。被公司吸引的人员的素质和专业水平,也是我从未见过的。 你将 Clint Eastwood 的照片用作头像。有什么故事吗? 好吧,我喜欢镖客三部曲和这位演员。而且这个角色也符合我的生活理念。我没那么多话,更喜欢采取行动,而且我不是那种很自负的人。我完全能接受当一个 “籍籍无名的人” ,但我仍在努力当个 “好人”。:) 你之前是 JavaScript 的背景,来 Parity 后才学习了 Rust,对吧?这个过渡感觉如何? 很难。即使我有其他语言和范例的经验(我之前学过 C ++ 、Prolog 和 Erlang,后来作为 Java 开发者开始了职业生涯),但学习 Rust 还是很困难的。最初,我的任务并不需要那么多 Rust 特有的功能,所以我感觉自己效率很高。但是,当我开始处理涉及更多线程的更多技术问题时,我陷入了危机时刻。我记得花了三周的时间为 Parity Ethereum 的第一个多线程版本的交易池工作,让 Rust 编译器教我编写并行程序代码。虽然当时我觉得自己效率低下,感到非常沮丧,但从长远的角度来看,这确实是一个很好的体验。 你讨论了以太坊的零知识新交易队列。能不能简要解释一下它是如何工作的? 当然可以。交易队列(或池)是我在 Parity Ethereum 代码库中的第一个任务,我感到非常惊讶,它是如此复杂,需要处理很多模棱两可的情况。 我们首先定义问题:网络中漂浮着大量交易云,而区块容量有限。任务是确定来自云的哪些交易可以放到区块中,又该以何种顺序排列。这听起来很简单,但我们还有其他目标和约束条件:我们希望最大化区块中的交易总费用,同时保留来自单个发件人(nonce)的交易顺序并避免 DoS 向量。此类问题的专业术语是 “多重约束背包问题”,众所周知,是很难找到最佳解决方案。幸运的是,我们可以使用一些简化的启发法,但是仍然有很多注意事项。 目前它在 ?Parity Ethereum 中是如何工作的: 我们维护每个发送者的预验证交易的现时顺序列表(因此我们知道每个发件人的优缺点); 我们维护每个发送者的最佳交易的 gas 价格排序列表; 每次我们要计算一个块中的交易顺序时,我们都通过从列表 2 中选取最佳交易,并将来自同一发送者的次佳交易添加到列表中来得出它。 这种动态构造使我们在插入时间(几乎恒定)与待定集合构造(发送者数量的对数)之间进行了很好的权衡。 鉴于以太坊网络的发展,以及我们过去观察到的大量交易,交易池的这些新属性变得尤为重要。 你希望更多人了解 Parity Ethereum 的哪方面? 我希望大家知道可以使用哪种日志记录来报告问题 :)。在大多数情况下,重现问题确实非常困难且耗时,并且带有(至少是部分)日志的错误报告对于识别问题有极大的帮助。(日志记录准则发布在新的模板 issue 中。) 在 Parity 远程工作是什么感觉? 远程工作可能会很困难,尤其是如果团队中的大多数人都集中在一个地方,而你被视为二等公民时。另外,如果沟通不畅,远程工作人员可能会一直感觉不到成就感,如果长期坚持下去,可能会感到沮丧和失去动力。 不过在 Parity 不是这种情况。由于我们有很多远程工作人员,因此远程工作基本上是默认设定。甚至柏林的人也可以在家中或在咖啡馆工作,而不愿意去办公室。无论我身在何处,我都可以找到工作所需的一切:Rust 编译器、GitHub 和 Riot。 远程办公环境是什么样的?当你不在办公室时,如何进行沟通呢? Parity 的所有沟通都在 repositories (issue 和 pull requests)上或 Riot(公开和内部频道)上进行。对于更长的讨论,我们更喜欢内部讨论论坛,有时我们也打短电话来快速讨论一些主题。我是在弗罗茨瓦夫(Wroc?aw)工作的,它离柏林非常近,所以我也试着每月至少去一次办公室并待上几天。每当我在柏林办公室时,我总是有这样的感觉:“噢,现在我要赶上大家,他们在办公室时,肯定面对面讲了很多东西”。但事实总是证明,我在那儿了解到的东西,无非就是我已经知道的。实际上,有时候我比其他人知道更多,因为我习惯于仔细阅读聊天记录。不过,可以亲自和同事一起出去玩还是很高兴的。:) 你还想和大家分享什么? 如果你是开发者,请学习 Rust,这会让你成为能更好地使用其他任意一种语言的程序员。如果你不是开发者,那么 Rust 可能是一个艰难而良好的开端。:) 原文:https://www.parity.io/people-of-parity-tomasz-drwiega/ 翻译:PolkaWorld 社区 —- 编译者/作者:PolkaWorld 玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。 |
在家办公4年他开发出了以太坊交易池和多个核心功能
2020-03-03 PolkaWorld 来源:区块链网络
LOADING...
相关阅读:
- 加密阁多次收录项目UNC首发BKEX后如何发光发热2020-08-06
- 震荡趋势走出,比特币有望再次冲高2020-08-06
- 区块链和5G产生的结合,带来的是相“+”效应还是相“×”效应?2020-08-06
- 比特币超过$ 11,6002020-08-06
- 中国对区块链人才的需求正迅速增长2020-08-06