区块链开发者观点:来自 pixEOS 的 Jorge Alcario

区块链开发者观点:来自 pixEOS 的 Jorge Alcario
Source

对于正在探究去中心化网络的强大功能的开发人员来说,在区块链上构建应用程序是一项很大的挑战。 考虑到这一点,dfuse 邀请了一些经验丰富的开发人员来分享他们构建这些下一代dapp 的历程。本周,我们很高兴请到了 Jorge Alcario,pixEOS 的首席技术官和 dfuse API 的的早期用户之一。

向大家介绍下自己吧

我是 Jorge,pixEOS 的 CTO 和首席开发。我来自葡萄牙,18岁之后的大多数时间我都住在里斯本。

我在20世纪80年代开始做开发,当时我第一次使用 ZX Spectrum,是当时欧洲非常流行的相对廉价计算机。从 BASIC 开始,我很快就钻研了装配,以充分利用电脑的全部功能,主要是利用它的图像性。当时的高分辨率图像成了今天的复古像素艺术!

我后来升级到 Commodore Amiga,再后来升级到PC,它们那时候已经不错了。整个职业生涯中,我一直对图像和用户界面非常感兴趣。

我在90年代和21世纪初期建立了许多商业软件解决方案,包括服务器和客户端,所以我熟悉了整个堆栈。我对分布式系统并不陌生,也始终坚信云计算。所以当我几年前偶然发现区块链时,我发现它是一个非常有趣的分布式系统,结果就搞到了今天!

由于我的大部分区块链经验都与 EOSIO 有关,所以这个项目是以EOS为中心的。

pixEOS 的愿景是什么呢?

我们热爱游戏,我们热爱艺术 - 无论是现实生活中的还是电子的。这个项目的一个主要部分是建立一个可以创建,共享和交易艺术的平台。如果你是一名艺术家,你现在就有了可以展示和销售你的艺术品的平台。

你可以走美术馆的佣金系统,或者将你的艺术作品放到拍卖行。你可以在画廊出版和出售你的作品。你甚至可以通过我们的 My pixEOS shop 把你的艺术作品放到衣服上卖,是 pixEOSCypherglassThreadless 合作的成果,尽管现在只使用法定货币, 加密支付接入也是正在进行中的!

我们还正在合作开发 EOS 区块链的 dGoods NFT 标准,我们将实施该标准,以发布用于数字和实体原创艺术的 NFT 标记。在初始阶段,NFT 标准将用于在我们平台上发布和跟踪数字艺术品的所有权,但项目计划的一个非常重要的部分是解决真正实体艺术的所有权和出处问题,并进一步弥合区块链世界和现实世界。

这些问题非常适合区块链解决方案,因为我们相信这项技术可以解决你今天在艺术界遇到的许多问题。它不仅为整个平台提供了完全的透明度,而且等到我们开始为所有类型的艺术品提供 NFT 时,它就会解决当今遇到的真实所有权问题。

虽然这一切都在官方路线图上,但我们同时也在试验其他的东西,比如 Avatar Maker 和从高度图生成的 Paint 画布的 3D 演示。

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

我认为区块链开发中最具挑战性的部分,特别对于在传统数据库系统方面具有丰富经验的人来说,是完全和深刻地去接受数据的持久性。你没有从备份恢复的手段。你经常处理的是真正的价值。无论你执行什么操作,这都是永久的,没有回头路。所以你需要两重和三重的检查你的东西。

运行是有相关成本的,所以你需要确保你的代码尽可能高效。要缓解这些问题,你必须进行广泛的测试和审核。我们的开发周期包括在本地节点上进行广泛测试,然后在最终部署在主网上之前在 Jungle 测试网上进行测试。但是 EOSIO 在这方面明显有很大的优点,因为你可以按需随意重新部署合约,而不需要支付费用,这一点还是很有帮助的。

我们的第一个dApp pixEOS Paint 非常依赖于交易历史,给我们带来了一些麻烦。刚开始开发的时候,EOS 的历史节点情况必须得到解决。我们计划使用标准的历史API来验证和分析事务,但由于只有少数完整的历史节点,我们不得不重新思考这个问题。我们用 dfuse 解决了这个问题,但启动就有了轻微的延迟,因为要使用新的 API 我们就得改造大部分的后端。

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

我们实际上希望能让你知道你是在区块链上的。 我们希望用户了解所有这些技术都是去中心化的,透明的和可审计的。

我们认为达到区块链大规模采用的方法是帮助用户解开它的复杂性并学习如何使用它们。 对于 EOS 来说,我们需要强调平台的抵押机制,主要是帮助用户理解 CPU 机制。 这不是一项容易的任务,因为 CPU 使用率可能有点不可预测,但可以通过精心设计的 UI 和用户友好的错误处理设定是解决很多问题的。 例如,不要简单地通知用户"已超出用量",而是提供更详细的信息,并为用户提供立即抵押更多 CPU 的选项。

当然,我们的 Paint 和 Avatar Maker 是我们 UI/UX 改进的前线。

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

我有用 Windows 和 Ubuntu 的经验,包括实体和虚拟机。 Windows 在 Linux 上的子系统在现在实际上非常有用,你甚至可以选择在没有 Docker 或 VM 的 Windows 系统上进行 EOSIO 的完整开发。

我在 Sublime 和 VS Code 之间来回换,虽然我还是总会到 Sublime ,*惯很难改了。我选择 Vuejs 也是因为我已经使用它已经有好几年了,用它可以很快完成任务。大多数后端的东西都是node.js,但是当我需要一个有数据库后端的网站或应用程序时,我通常会启动一个 Laravel 应用程序。很简单,也内置了 Vue,所以我喜欢它。

我的主要开发资源是EOSIO开发人员门户网站和 ******** 上的各个开发人员组。社区非常有帮助,你可以从中来学到很多东西。还有一个正在增长的 EOSIO stack exchange 社区,当然还有 EOSIO 源代码本身。

我会对任何软件开发人员说的一些事情是,不要试图一次解决所有问题。慢慢的去打造它,一次解决一个问题。不要上来就只写编码,仔细计划,慢慢来,好的软件需要时间。任何长期的应用程序都需要进行扩展和维护,因此请牢记这一点。对于权力下放也是如此 - 不要一次性的把所有东西放在区块链上。先从中心化加去中心化的结构开始构建。我们自己的 Avatar Maker 最开始是图像生成器,然后我们把它升级为在区块链中存储图像生成的参数,下一步可能是将所有图去中心化。它不是一个完全去中心化的应用程序,但它是一个可用的产品,是中心化的去中心化的最佳结合。

给 EOS 的入门开发人员的一些提示:

  • 熟悉 cleos,在一定程度上熟悉 curl。有了这两个工具,你基本上可以做任何事情;
  • 请记住,虽然你可以根据需要重新编译和部署合同,但表结构不容易更改,因此请提前计划;
  • 了解微分叉 - 有时你的交易不会进入链,所以你必须考虑到这一点。

最重要的提示:当你遇到困难时,一定要请求帮助。 EOS开发人员社区非常活跃,有许多经验丰富的开发人员愿意提供帮助。

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