(一) 用 JavaScript 写 DApp:谈谈 ETH、EOS、FIBOS

栏目: JavaScript · 发布时间: 5年前

内容简介:一直保持着如儿童般的好奇心和技术的热情,挺早就关注区块链和加密货币。当然并没有发财,这可能跟自己知识结构和本身比较穷有关。在读大学的时候第一次听到了比特币,那时候可能几美元吧记不清了。后来接触到了以太坊,第一次听到了 DApp 这个词。可能当时各种资料比较少,只是看了看文档并没有真正尝试去写一个 DApp。真正想着去编写一个 DApp 应该是在 2018 年,当时一句话感触至深:

一个普通开发者对 ETH、EOS、FIBOS的看法

一直保持着如儿童般的好奇心和技术的热情,挺早就关注区块链和加密货币。当然并没有发财,这可能跟自己知识结构和本身比较穷有关。

在读大学的时候第一次听到了比特币,那时候可能几美元吧记不清了。后来接触到了以太坊,第一次听到了 DApp 这个词。可能当时各种资料比较少,只是看了看文档并没有真正尝试去写一个 DApp。

真正想着去编写一个 DApp 应该是在 2018 年,当时一句话感触至深:

你想真正了解一件事情最好的方法是参与其中。

于是乎在 2018 年花了一点点钱买了一点点加密币。大家不用猜也知道,买在了山顶上,哈哈哈。也就是从那时候开始,在 Udemy 买了课程 Ethereum and Solidity: The Complete Developer's Guide 和 参加了 LoomNetWork 的在线互动课程。这两个课程质量非常好,强烈推荐,算是我的 DApp 入门课程。但是但是,我并没有后续自己独立开发出一个 DApp。

再后来,通过一直在微博上关注的西祠胡同响马,了解到了 FIBOS,也把自己为数不多的 EOS 兑换成了 FO。

为什么会关注 FIBOS 呢?经历了 Solidity 写 DApp 的确发现 Solidity 其实也有一定的学习成本,虽然说 Solidity 跟 Javascript 类似,但是还是有自己不同的语法。另外 DApp 编程,跟中心化应用你的大脑回路需要不一样。另外 ETH 一个缺点就是性能比较差,而且跑你的 DApp 非常贵。大家应该也听说过一个云养猫的 DApp 就让 ETH 拥堵不堪了。

当然 ETH 的开发团度肯定也意识到了这些问题,但是有号称区块链 3.0 的 EOS 出来想要解决这些问题。更快的运行速度,更大的通量,更便宜的运行成本,但是似乎并没有解决开发门槛的问题。目前 EOS 仅仅支持 C 和 C ++ 编写合约。EOS 比 ETH 开发门槛更高了。

想必无数个开发工程师都会在咆哮,就不能来一个热门语言例如 Javascript 就能开发的智能合约呀!毕竟:

一个凡是真理:凡是能用 Javascript 写的,终将被 Javascript 改写。

最终历史重任似乎落到了 FIBOS 身上,一个结合 FIBJS 以及 EOS 的 JavaScript 的运行平台,它使得 EOS 提供可编程性,并允许使用 JavaScript 编写智能合约。JavaScript 开发 + BANCOR 协议智能通证 + 开发者服务,FIBOS 平台实现了快速开发、快速部署和稳定且流动的通证体系,帮助开发者一步进入区块链时代。

官方文档中仔细罗列了其与 EOS 相比的优势:

1 目前 EOS 的环境部署困难

EOS 的编译环境依赖性强,编译过程时常遇到很多问题,对于普通一个开发者来说,大多数面对 CMake 的情况是束手无策的。

而 FIBOS 提供一套预编译开发环境,开发者可以快速实现部署,把更多的时间用在编写智能合约上。

2 开发门槛高

编写 EOS 智能合约需要掌握 C++ 语言,这对于一名开发者来说学习成本非常高,并且我们认为正确的写出编译合约的 CMAKELISTS.TXT 才是刚刚开始!

而对于 FIBOS 来说,开发者可以使用 JavaScript 脚本语言进行编写智能合约,而这门语言学习成本很低。

对于一名开发者来说,如果一件事情简单容易,我们认为他们会更容易接受,并渴望了解 FIBOS。

3 测试套件原始

EOS 的测试用例编写也必须使用 C++,高难度的语言学习,高难度的编译,使得测试这件事在 EOS 上面变得复杂、困难。

FIBOS 集成 FIBJS 服务端开发平台,拥有成熟的测试套件,在 FIBOS 平台上编写的用例,开发者可以使用 JavaScript 编写测试用例,这一切看起来非常的灵活、轻松!

4. EOS 迭代周期长

一个 EOS 智能合约要想成功部署发布,需要经过编写、编译、部署、测试、调试、修复,漫长的等待过程。

FIBOS 支持本地合约模式,随时修改随时测试,结合一些 IDE 工具可以做到一键研发测试。

5. 开发生态原始

EOS 使用 C++ 参与编写研发,并不能做到 NPM 这样的生态环境,而 FIBOS 支持 NPM 包管理,与庞大的 NPM 生态紧密连接。

6. 部署发布合约成本高

EOS 编写合约需要让 C++ 代码编译到 WASM,而 WASM 编译文件非常庞大,让发布部署运行合约成本非常高昂。

FIBOS 编写的合约可以通过打包脚本,压缩文件极大的降低部署发布成本。

7. 合约不可审计

EOS 合约编译成 WASM 后,对审计阅读合约代码带来了极大的困难,开发者无法评估合约的安全性。

FIBOS 的合约使用 JavaScript 编写并且全部开源,方便社区审计,迅速形成共识。

FIBOS 应该是我目前最好的选择

还是那句话,根据 FIBOS 的文档,FIBOS 在技术上优势明显。当然劣势也很显然,目前社区远小于 ETH 和 EOS,质量高、热闹的 DApp 也没有。

还是那句话,你想真正了解一件事情最好的方法是参与其中。我想要了解 FIBOS 是不是真的如此优秀,就是自己动手写一个 DApp。

那选哪个方向呢,我的想法是选一个业务代码不是很多的,但是需要区块链解决中心化 APP 无法解决的信任问题的场景去实现。这里先卖一个关子。

基本上技术架构:

上链部分:FIBOS  # 需要学习,但是门槛应该不高
     前   端:Vue.js # 比较擅长
     后   端:SpingBoot # 最近正在学习,正好实践一下

计划

目前暂时是有空就去做,还没有具体的计划。后续的进度和一些开发中的有趣的点应该也会在后续文章中分享。

大家也可以关注我的知乎,知乎更新会及时一点。 https://www.zhihu.com/people/...


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Agile Web Development with Rails 4

Agile Web Development with Rails 4

Sam Ruby、Dave Thomas、David Heinemeier Hansson / Pragmatic Bookshelf / 2013-10-11 / USD 43.95

Ruby on Rails helps you produce high-quality, beautiful-looking web applications quickly. You concentrate on creating the application, and Rails takes care of the details. Tens of thousands of deve......一起来看看 《Agile Web Development with Rails 4》 这本书的介绍吧!

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具