区块链开发者观点:来自 Patreos 的 Britt Kim

Mar 20, 2019 8:00:00 AM / 作者 dfuse

对于将来的主导 dapp 来说,在其开发堆栈中使用区块链,开发人员需要他们在传统网页开发时所习惯使用的工具和信息通道。 dfuse 与经验丰富的区块链开发人员交流,分享他们的走过的路程、他们使用的工具以及他们的知识来源。 本周我们采访了来自 Patreos 的 Britt Kim。

向大家介绍下自己吧

我是 Patreos 的创始人 Britt Kim。在网上,我一般用 “okayplanet” 的网名。 我出生在路易斯安那州,也在那长大,后来搬家到阿肯色州,所以我从里到外是一个地地道道的美国南方人。 我的青少年时期留在了一个小而不起眼的小镇,我很幸运能够接触到电脑和编程,制作过简单的程序和网站。

直到我上大学的最后一年,我才与朋友开始了一个正正经经的项目。 这个项目之后成了一家盈利的公司,最终被收购了。 我们的公司是在2011年左右创办的,如果你是来自那个时期的程序员,你应该就听说过比特币了。 又过了一年我才对区块链编程产生了兴趣,慢慢也就越来越着迷。

Patreos 的愿景是什么呢?

多年来,我一直忠于艺术家和娱乐工作者的众筹和融资工具。在这个行业,我当过创作者和粉丝。作为一个Patreon用户,我在2018年初开始注意到这个平台的问题。我知道一个做内容的平台非常适合区块链,但我认为区块链还没有成熟。作为一个老比特币和以太坊开发者,我很痛苦地意识到它们的局限性。 EOS改变了我的看法。

区块链开发时面临的主要挑战是什么?

主要的挑战涉及到数据存储的定价权衡。在每个区块链中都会出现储存干旱 - 有时甚至是储存饥荒。开发人员担心有一天插入数据成本太高,或者存储数据成本太高。在大多数情况下,在本地数据库中存储东西比在区块链状态存储器中存储更便宜,并且在极端情况下,后者显然是无法承受的。程序员必须考虑到这一点,今天没事明天也不一定。决定某些数据是否应该存储在区块链中是比较棘手的,是从先前的区块手动导出、部分存储还是完全存储。

我在项目开发过程中放进去了几个实现,在区块链之外的早期项目中很少遇到这些设计约束。例如,我最近有一个代币奖励合约,让用户每轮都有奖励,其中每一轮都是内存中的数据输入。1年后得需要多少 RAM ? 5年后? 10点以后?如你所见,这可能会成为一个问题。

你可能需要一些清理操作才能将上一轮的余额转移到当前轮次,或者你可能只是说在前X轮中没有认领的那些奖励被视为放弃。解决方案很多,但问题是单一的并且永远存在。在区块链中放置数据的地方和方式是你根据开发经验的直觉 - 主要来自于数据被销毁的经验。

用户是否会意识到他们在使用区块链?

是的,很明显,但只是最初。一旦我们进行了核心测试,我们的目标就是从区块链中走出来,并与最好的法定货币进站相结合。 对于正在创建市场、处理付款、执行订阅等的区块链应用程序,最难的部分仍然是如何轻松地让人们进入加密轨道。根据我的经验,还没有人提供出来令人满意的解决方案。每个人都在学习,各种相关服务正在涌现,帮助解决这个问题。这时候时间是我们的朋友,今天不行,但明天是有希望的。

对于想要在区块链上构建项目的开发人员,你会给出什么建议?

当面对这样的问题时,我的天性是感到自身不合格回答这个问题,所以如果以下建议的给你带来负面影响,是我的不好。 阅读其他开发人员的开源代码。有关于具体代码的问题给他们发私信。  可能有些人不喜欢被打扰,这样的人就去他们的。

虽然我觉得自己没有资格指导,但我总是喜欢分享我所知道的那一点点。 而且我的很多观点是从其他人那里学到的。一定要学习快速启动本地链,得准备好脚本来部署合同,学会快速开发和更新这些合同,为你的合约写好测试。 做好了这些之后,你就能加速学习各种详细的细节了。

请记住,你的应用程序位于区块链中,但却活在用户手中。我的意思是你的智能合约可能可以做很酷的事情; 但尽量不要把太多过于极客的逻辑施加在用户身上。


如果你是一个开发人员并希望分享你的区块链开发经验,请随时与我们联系。 我们很乐意将你的访谈整合到我们的系列文章《区块链开发者观点》中。

话题 dfuse, 开发者, 区块链开发者观点, Patreos, Britt Kim