【系列】EOS智能合约开发01 - 编程语言

in #cn7 years ago (edited)

 

学习区块链技术,主要学好3条公链就足够了,就是比特币、以太坊、EOS,因为他们分别是区块链1.0、2.0、3.0的代表。

学习比特币,让我们知道区块链的技术原理;学习以太坊,让我们学会怎么运用智能合约和DAPP; 学习EOS,让我们把区块链应用到各行各业。

学习EOS的第一篇,我们将学习一些基础知识,那就开始吧~

智能合约编程语言

不同于以太坊智能合约开发使用的Solidity语言,EOS使用的编程语言是C++

  • Solidity是一门新的编程语言,是以太坊团队发明的;
  • C++是一门古老的编程语言,有很多现成的开发者。

 

从以太坊和EOS智能合约开发的主要编程语言比较,C++虽然有现成的开发者,但是学习难度比较大;Solidity是一门新语言,但学习起来更简单。

因此,对于编程小白,学习以太坊更合适;对于有经验的C++开发者,学习EOS更容易。

WebAssembly

 

EOS使用WebAssembly(WASM)执行用户生成的应用程序和代码,作为对比,以太坊使用的是JavaScript(具体是Web3.js)。

在了解WebAssembly之前,我们要先了解JavaScript。

JavaScript(简称JS)是一种网页编程脚本语言,实际上,我们现在浏览的网页,时时刻刻都在使用着JavaScript。JS和HTML、CSS一起构成了我们看到的网页。

 

下面这张图,清晰地表示了HTML/CSS/JS在网页中的职责:

  • HTML是结构
  • CSS是表现
  • JS是行为

 

说回WebAssembly,它是一种新的字节码格式,缩写是".wasm",是一种新的底层安全的二进制语法。

要说WebAssembly的技术原理就太复杂了,一句话解释WebAssembly的作用就是:

让C/C++代码在浏览器中运行。

C/C++,还有其他更多的编程语言,比如Java,都属于编译型语言。而浏览器是无法运行编译型语言的,只能运行另一类编程语言——解释型语言

编译型语言,是把源代码先编译为机器码(也就是可执行程序,比如.exe文件),运行时只需要把机器码交给CPU执行即可。编译型语言的特点是:运行速度快,效率高。缺点是可移植性差。

解释型语言,直接以源代码的形式出现,运行时再解析为机器码并执行。所有的脚本语言(比如JavaScript)都是解释型语言。解释型语言的特点是,不能独立存在,必须寄生在其他程序(比如浏览器)内。

到这里,我们明白了WebAssembly,它就像是一个编译器,让浏览器能看懂C/C++代码。

   

下一篇:EOS智能合约开发02 - 下载EOS源码

Sort:  

推!實用文章!
最近在玩NEO的開發,但是又覺得EOS也是紅到翻了... 該跳槽嘛 .. Orz
下一篇快來呀,我在這痴痴的等。

已更新,感谢您的持续关注

You got a 71.43% upvote from @bidseption!

  • Resteem & Upvote: 0.005 SBD or higher with url in memo to get a resteem and participate in upvote-bidding!
  • Free resteem: Follow us for FREE resteem! We will resteem a lucky post every 2 hour.
  • Delegate @bidseption to get 95% of the earning daily: 30 SP 50 SP 100 SP 150 SP 250 SP 500 SP 1000 SP