以太坊技术开发课程01:什么是以太坊|概念名词解析(图文)

以太坊智能合约开发是一个基础,很多区块链从业者,大部分都是小白,集中在币圈,但是,以太坊生态领域,所有的概念理论都是来源于智能合约凝聚的逻辑,所以,真正想参与区块链的发展,我们必须要了解以太坊的基本概念。

以太坊创立前期的背景介绍

讲到以太坊就要讲到区块链1.0版本的比特币,比特币开创了去中心化密码货币的先河,时间充分验证了区块链技术的可行性和安全性.然而比特币在区块链应用扩底上,没有任何扩展性。

  1. 比特币网络中只有一种符号,只支持比特币流通.缺乏应用层面的想象空间
  2. 比特币仅仅只能存储交易数据.不足以构建更高级应用

什么是以太坊 (区块链技术开发应用生态)

 以太坊通过技术手段,优化升级了比特币系统,在比特币系统的基础上,增加了存储代码的功能,也就是程序员可以在以太坊生态链上发布智能合约,进行产生业务逻辑,所以,也就出现了很多区块链项目的创业者,同时,我们也从app的时代,正在过度到Dapp的时代。那么下面我们来介绍一下,以太坊生态上的一些特点:

以太坊生态的特点

  1. 以太坊并未给用户预设操作 (例如:比特币交易), 而是允许用户按照自己的意愿创建复杂的分布式应用
  2. 以太坊官方推荐的Solidity编程语言是图灵完备的
  3. 和其它区块链一样,以太坊也有一个点对点协议
  4. 以太坊每一个网络节点都可以安装以太坊虚拟机来执行相同的智能合约.

以太坊智能合约与一般程序的区别

  1. 去中心化、以节点信任为基础,不可篡改,但可改变合约的状态。一经发布,只能销毁,不能修改更新代码结构。
  2. 运行智能合约需要gas费用,对于程序的设计要求非常严格,代码即金融。

部署编写智能合约Remix IDE工具介绍

以太坊官方推荐的智能合约开发IDE,适合新手,可以在浏览器中快速部署测试智能合约.缺点是必须要联网才能编写、测试、部署

  • Solidity官网:https://docs.soliditylang.org/en/v0.8.0/
  • Solidity中译:https://learnblockchain.cn/docs/solidity/
  • Remix IDE地址: https://remix.ethereum.org

以太坊名词介绍

ETH Wallet

以太坊客户端,其实我们可以把它理解为一个智能合约运行环境,它提供账户管理、挖矿、转账、智能合约的部署和执行等等功能,而EVM是由以太坊客户端提供的

以太坊虚拟机EVM

EVM(Ethereum Virtual Machine)以太坊虚拟机是以太坊中智能合约的运行环境.如果把Solidity比作Java.则EVM则为JVM。

Solidity

solidity是一个图灵完备的智能合约开发语言,同时这种开发语言,也一直在不停的完善升级状态中,Solidity 中沿用 C ,C++ 等中的编译指令概念,语法结构与JavaScript更为接近,支持结构体、面向对象 (封装、继承、多态、接口、抽象合约) 等特性,Solidity会被编译为用于EVM的代码。最大的优势在于可以直接与以太坊分布式账本进行交互。

Dapp (去中心化应用,即Decentralized application)

App我们都知道是客户端应用,是application的简称。再说dapp就是D+app,d是英文单词decentralization的首字母,单词翻译中文是去中心化,即dapp为去中心化应用,因为有以太坊生态的开发,那么Dapp变得流行,那么对于开发者,可以从另一个角度去定义Dapp到底是什么?即:

前端 + 智能合约 + token(通证经济)

Ether(简称ETH)

以太币即ETH是以太坊生态里面的一种激励机制,激励矿工挖矿,激励以太坊生态创业者,从事Dapp的开发和应用,以太币被用于支付在EVM(以太坊虚拟机)中进行计算所需的开销. Gas(10的9次方wei)。

什么是公有链、联盟链、私有链?

公有链:对所有人开放,任何人都可以参与,例如比特币,以太坊都是公有链。
联盟链:Hyperledger Fabric.支持权限、多区块互联,基本上早期区块链项目应用落地,都是在设计行业联盟链。
私有链:个人开发者,公司开发者开设的区块链,小受众群体使用。

Truffle智能合约开发框架

Truffle是针对基于以太坊的Solidity语言的一套开发框架,对开发,测试,部署实现了非常友好的支持. 让开发者专注智能合约本身,但是,在使用truffle的过程中,因为,solidity开发语言的更新迭代,对于多版本智能合约开发编译有些难度,即:truffle配置文件的使用有些复杂,对于单一的智能合约应用开发,直接用remix即可。和remix具有相同的功能,相辅相成。

Web3.js

Web3.js是以太坊提供的一个Javascript库,提供了一系列与区块链交互的Javascript对象和函数,包括查看网络状态,查看本地账户、查看交易和区块、发送交易、编译/部署智能合约、调用智能合约等 (提供了点对点网络交互的API)

以太坊技术架构

以太坊技术结构
对于以太坊开发者,初步学习以太坊的概念理论是一种必然,只有理解了基本的理论概念,在开发智能合约的过程中,才不会疑惑,小编在学习智能合约开发过程中走了很多弯路,上文整理出来,帮助更多的以太坊开发者学习,少走弯路。

免责声明:本文由信比特作者原创文章,不构成投资建议,请谨慎对待。

版权声明:信比特作者保留原创权利。文章为作者独立观点,转载请注明出处

原文链接:http://www.bitpoa.com/BlockchainCollege/106.html

生成海报
收藏

相关推荐

2021年2月份将迎来以太坊的牛市春天!(图文)

前言:从行情表现上看,以太坊似乎仍然是比特币的“跟屁虫”;然而在梳理其基本面和消息面后,我们认为,以太坊将很有可能在2月实现大爆发,走出不一样的趋势。下面,我们将一一介绍以太坊在2月即将迎来的重大利好,以及为什么越来越多机构和大户开始看好以太坊。 ...

Reddit宣布与以太坊基金会合作的思考

前言:中国已经开始在国际上布局社交网络,但是最近发生在Reddit社区的walltreetbets匿名组织公开抵制华尔街空投机构,以及取得了完美的胜利,把Reddit再次推向了公众的视野,同时,Reddit极力拥抱区块链,在uniswap上的议论热潮也推向了顶峰。 ...

关于以太坊智能合约ERC20代币精度

前言:在撰写本文时(Solidity v0.4.24),Solidity 不支持定点或浮点数。这意味着浮点表示必须用 Solidity 中的整数类型进行表示。如果没有正确实施,这可能会导致错误/漏洞。 ...

举例说明以太坊扩容方案optimistic rollup运作方式

前言:optimistic rollup是以太坊 layer 2 扩展方案中的佼佼者,既能把可扩展性的蛋糕做大,也能让你吃到 —— 至少是吃到一部分吧。大家之所以对optimistic rollup如此兴奋,是因为它及它的表亲—— ZK-Rollup,克服了侧链、 plasma、状态通道等方案都没有解决的 layer 2 难题。 ...

关于以太坊智能合约升级,编译器版本兼容性问题的介绍

前言:相信很多智能合约初级开发者,在使用以太坊生态平台进行区块链项目开发的过程中,当遇到以太坊智能合约升级了,那么对于原有的编辑过得代码,在新的编译器版本中,并不能完美兼容,经常报错,那么下面信比特技术人员,分析具体原因,对于以太坊升级后,智能合约兼容性问题进行拆解。 ...

以太坊技术开发课程02:深入学习以太坊区块叔伯块及挖矿奖励分配(图文)

前言:以太坊生态优于比特币系统,同时为了区块链项目的应用落地,在出块时间做了很大的调整,这样子提高了TPS吞吐量,同时,也给矿工挖矿带来了一些负荷,因为出块时间的缩短(比特币系统为10分钟左右出块),势必会让矿工同时挖到相同的区块,如果不对这种逻辑进行优化,对于矿工来说是不公平的,所以,以太坊叔块就产生了,下面,让我们来详细的讲解关于以太坊叔块的概念和怎么样解决矿工奖励的问题,进行分析讨论。 ...

以太坊2.0权益专家一年的回顾总结

前言:2020年,以太坊上的去中心化金融(DeFi)应用程序的锁定总价值和用户活动也实现了爆炸性增长。随着以太坊2.0的发布以及以太坊通过抵押的全新用例的出现,我们见证了以太坊主要扩展解决方案的起源。  ...

0 条评论

微信扫一扫

微信扫一扫

微信扫一扫,分享到朋友圈

以太坊技术开发课程01:什么是以太坊|概念名词解析(图文)