NEO-ONE:一款全新的一体化NEO开发套件

互联网 2019-02-26 09:00:01

NEO-ONE是一款全新的端到端智能合约框架,旨在让用户轻松在NEO平台上创建dApp。由NEO区块链浏览器NEO Tracker 5人团队的负责人Alex DiCarlo开发,支持TypeScript智能合约开发。

除了智能合约框架本身,NEO-ONE还包含文档和课程材料,以简化学习过程。该团队的目标是引导用户完成NEO智能合约的整个开发过程,让他们通过实践来学习。

介绍

NEO-ONE最初是根据NEO Tracker的要求开发的。Alex评论说:“当我们需要一种跟踪通证传输的方法,以及一种与NEO节点有效交互的流畅API时,框架的第一个想法就产生了。到我们建立了NEO Tracker所需的所有基础设施和API,我们觉得我们已经做了一些其他人可以利用的有用的东西,所以我们开始了充实一个端到端的框架细节的工作,这个框架将成为NEO-ONE”。

Alex注意到NEO开发通道中提出的许多问题都与开发的核心基础有关,例如设置环境。这表明了团队的目标是通过开发端到端框架来解决的一个问题,该框架提供“轻松启动和为用户提供每一步的工具”。

NEO- ONE项目的目标是成为NEO上dApp开发的一站式套件。Alex评论道:“最终,我们的目标是让一个没有NEO经验,甚至没有区块链经验的人,能够在30分钟或更短的时间内完成他们的第一个智能合同。”

NEO-ONE框架

作为一个端到端的框架,NEO-ONE被设计为具有高度可访问性。用户可以在浏览器中进行所有的编码和测试,因此不需要预先设置开发环境。该编辑器包含诸如console.log之类的功能,它在智能合约中的工作方式与在JavaScript中的工作方式相同,该团队还计划添加一个集成调试器,以解决未来的任何问题。

或者,开发人员可以将新CLI集成到Atom或VSCode编辑器中,在这些编辑器中可以访问相同的功能。这包括通过编写TypeScript单元测试自动化测试的能力,对于那些希望快速部署dApps的人来说,这是一个关键的故障排除步骤。

根据Alex的说法,该团队希望NEO-ONE将在dApp开发中树立一个新标准:“通过使区块链开发成为一个连贯且简单的过程,我们希望能够对整个加密生态系统产生影响 -如果开发人员需要花更少的时间考虑他们的智能合约以及如何整合它们,我们希望他们有更多的时间花在他们dApp的用户体验上。”

虽然目前NEO开发人员可能有自己喜欢的编写智能合约的设置,但是NEO- ONE可以根据需要简化工作流程的任何部分。Alex解释说:“例如,NEO-ONE极大地简化了设置本地节点的过程,它只需要安装节点,然后就是一个命令。”

“从智能合约开发、测试、本地网络管理、与智能合约交互的客户端API,到与React等框架的集成,一切都经过了精心设计和集成,以提供NEO或任何其他区块链框架都无法提供的开发体验。”

采用TypeScript

NEO-ONE的发布还首个支持NEO上的TypeScript,TypeScript是一个静态类型的JavaScript超集。TypeScript需要在NEO-ONE平台上编写智能合约,不过JavaScript可以用来与之交互。

Alex评论说:“我们希望使用静态类型化语言来实现它所带来的所有编译时好处; 即使不运行代码,我们也可以执行不变量并确保它是正确的。鉴于JavaScript的流行和TypeScript在JavaScript世界中的声望,TypeScript似乎是构建需要正确代码的新框架的一个明智选择——毕竟我们是在处理金融交易。”

通过有效地实现整个TypeScript语言,NEO-ONE团队的目标是为开发人员提供一个无意外的体验。要实现这一点,首先必须在NeoVM中实现一系列细小改动,否则TypeScript智能合约将受到不必要的限制。

在这些变化中有一个bug修复,NEO-ONE团队实际上阻止了它访问主网。在广泛的测试过程中,发现这些更改可能破坏了许多现有的智能合约,因为它们依赖于带有bug的NeoVM实现。由于这个更改是正确支持TypeScript智能合约所必需的,因此必须实现一个系统,允许现有合约使用旧的代码路径,而新合约使用更新的代码路径。

未来,团队的目标是“将端到端功能扩展到其他智能合约语言,以便开发人员可以使用他们最喜欢的任何语言,同时仍然可以利用NEO-ONE”。

互动开发课程

除了NEO-ONE编辑器的用户友好特性之外,团队还实现了面向NEO或区块链新开发人员的课程材料。通过允许用户直接从浏览器构建、测试和编写智能合约,NEO-ONE希望降低dApp开发的门槛。

在被问到课程材料更适合编程新手还是有经验的开发人员时,Alex回答道:“介于两者之间。我们遍历所有概念,包括非区块链概念,就好像当开发人员没有经验一样。我们在整个材料中提供了外部文档链接,链接到关于这个主题的更详细的新文档,链接到TypeScript特定知识的TypeScript文档,以及我们在课程中使用的任何外部库。

参与贡献

作为一个开源项目,NEO-ONE一直在寻找贡献者。 NEONewsToday向Alex询问了社区可以提供哪些对NEO-ONE项目有价值的贡献,他回答说:

“使用框架,报告错误,告诉我们什么有效,什么无效。告诉我们什么可以改进。我们想要使它成为最好的框架,而我们能做到这一点的唯一方法就是得到社区的帮助。

除此之外,我们在neo-one github上还列出了一系列需要帮助的问题,一旦你对开发neo-one有了感觉,还有更大的事情我们需要帮助。例如,我们有一个强大的集成故事,从开发人员的角度和从产品集成的角度,我们想把它扩展到Angular、Vue,以及开发人员用于前端开发的任何其他框架。”

原文链接:https://neonewstoday.com/development/introducing-neo-one-a-new-all-in-one-dapp-development-suite/

相关资讯Relevent