学习区块链技术,主要学好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++代码。
推!實用文章!
最近在玩NEO的開發,但是又覺得EOS也是紅到翻了... 該跳槽嘛 .. Orz
下一篇快來呀,我在這痴痴的等。
已更新,感谢您的持续关注