最近大热的EOS,代表了区块链技术发展到了新的阶段,那么EOS区块链用什么语言开发的呢?答案是C++。

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

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

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

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

Solidity是一门新的编程语言,是以太坊团队发明的;

C++是一门古老的编程语言,有很多现成的开发者。

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

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

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 区块链 java 开发_EOS区块链用什么语言开发?相关推荐

  1. 【区块链技术开发】 关于Windows10平台Solidity语言开发环境配置

    目录 1.安装 Node.js 2.安装 Solidity 编译器 3.安装 Remix IDE 4.安装 MetaMask 浏览器插件 5.环境配置与问题解决 6. 安装Ganache:以太坊区块链 ...

  2. java做机器视觉_机器视觉用什么语言开发_机器视觉用什么硬件

    机器视觉用什么语言开发 目前可以开发机器视觉的相关计算机语言有C++,C#,JAVA,PYTHON等,甚至简单的PHP和JAVASCRIPT也可以开发相关的功能. 机器视觉需要用到图像处理库,有很多免 ...

  3. tomcat用c语言开发服务,apache tomcat是什么语言开发的

    通常情况下我们要自己建一个web服务器的话,直接去apache的官网: 下载的安装包,直接安装就可以了. 所以很多人觉得apache tomcat就是一个web 服务器程序,并且大多数情况下,直接简称 ...

  4. linux系统最好的c类语言开发软件,Linux下基于C 语言开发即时通信软件.doc

    Linux下基于C 语言开发即时通信软件 Linux下基于C++语言开发即时通信软件 关键词:聊天软件 文字聊天 Linux平台 C/S架构ICE中间件 Linux-based instant mes ...

  5. 舞蹈链java实现_舞蹈链(DLX) - osc_kpp7htz3的个人空间 - OSCHINA - 中文开源技术交流社区...

    #舞蹈链(DLX) Tags:搜索 ##作业部落 ##评论地址 ##一.概述 特别特别感谢这位童鞋His blog 舞蹈链是一种优美的搜索,就像下面这样跳舞- 舞蹈链用于解决精确覆盖或者重复覆盖的问题 ...

  6. php语言可以写游戏吗,网游用什么语言开发,网游用什么语言开发的

    通常用于开发在线游戏的编程语言是什么? C,DX,.NET? 如果是页面游戏,则前端和后端也需要PHP .通常使用哪种编程语言来开发在线游戏? 网络游戏可以使用脚本语言javascript,pytho ...

  7. 第1章 Window下VSCode的C语言开发环境搭建 (一)

    文章目录 文档视频讲解链接地址 第01章 开发环境搭建 1.1 C语言开发环境搭建 1. 常用的C语言开发环境介绍 VC++ 6.0 VS 2019 Clion DevC++ vim编辑 VSCode ...

  8. Apache Spark学习:利用Scala语言开发Spark应用程序

    Spark内核是由Scala语言开发的,因此使用Scala语言开发Spark应用程序是自然而然的事情.如果你对Scala语言还不太熟悉,可以阅读网络教程 A Scala Tutorial for Ja ...

  9. android开发用c语言,AndroidC语言开发系列.doc

    AndroidC语言开发系列 一.Android C语言开发之一[开发环境的配置]Android是基于Linux的操作系统,处理器是ARM的,所以要在Linux或Windows等x86系统上编译And ...

最新文章

  1. 科研成果汇总:收获的季节
  2. mysql右下角托盘中的图标_MFC下托盘图标的实现和托盘菜单。
  3. 2020年智能家居市场规模将达到3576亿元
  4. 使用命令行建立Zend Framework项目
  5. 直播未来属于RTMP还是HTTP?
  6. 信息学奥赛一本通(1401:机器翻译)
  7. python内置函数 exec eval compile
  8. 小型团队快速开发方法
  9. 在千锋学前端的卢同学“不甘于落后,不安于现状”
  10. PAT甲级1022 map、set的使用
  11. ArcEngine在个人地理数据库下创建要素类
  12. indesign使用教程,如何将颜色保存为色板?
  13. 【UVA514】+【HDOJ1022]:出栈序列的可能性问题
  14. 初学Power bi项目财务与人力/利润表/人员结构-刘刘的第一篇学习记录文章
  15. Linux中rz命令与sz命令
  16. Process terminated
  17. concurrent.futures:线程池,让你更加高效、并发的处理任务
  18. 无人机技术将从硬件创新转向自动化智能飞行
  19. pb导入excel文件
  20. 用keil编写C语言流水灯程序,简述关于Keil、STM32 用C++编写流水灯程序

热门文章

  1. img请求图片错误设置默认图片
  2. NING的2021年复盘
  3. Linux开放端口号
  4. 一元多项式式计算器(哈工大数据结构实验)
  5. Android 9使用APP来控制手电筒功能
  6. 基于MATLAB完成卷积运算,基于Matlab的离散卷积
  7. apache虚拟主机配置(壹)
  8. Chrome浏览器如何设置中文翻译
  9. 停用词是什么?常用中文停用词
  10. mysql error 1142