美文网首页区块链区块链研习社区块链研究
01、以太坊开发入门指南 - 快速理解核心概念

01、以太坊开发入门指南 - 快速理解核心概念

作者: 飞帅记忆 | 来源:发表于2018-04-06 11:52 被阅读57次

    这里是以太坊开发系列课程,我将带你从技术开发的角度理解以太坊,深入区块链底层,以最清晰的视角与区块链零距离亲密接触。

    在这里,我将带你挖矿开发自己的代币,编写智能合约还有其他有趣的Dapp应用!

    这是第一课 -- 快速理解核心概念。我将基于以太坊平台,以通俗的方式介绍以太坊开发中涉及的各晦涩的概念,轻松带大家入门。

    一、以太坊是什么

    以太坊(Ethereum)是一个建立在区块链技术之上, 去中心化应用平台。它允许任何人在平台中建立去中心化应用和使用这些应用。

    说人话,以太坊就是区块链世界的安卓和ios,他是一个开发平台,你按照它的规则开发应用,并将应用部署到以太坊区块链中。这就像你基于安卓平台或者iOS平台开发应用,然后发布到应用商店一样。

    在没有以太坊之前,写区块链应用是这样的:拷贝一份比特币代码,然后去改底层代码如加密算法,共识机制,网络协议等等(很多山寨币就是这样,改改就出来一个新币)。

    以太坊对这些底层技术进行了封装,开发者只用专注于应用本身开发,大大降低了开发难度。

    二、智能合约

    智能合约就是以太坊上运行的程序。

    智能合约可以理解为在区块链上可以自动执行的(由事件驱动的)、以代码形式编写的合同(特殊的交易)。

    详细了解智能合约可以看以前的文章《<u>5分钟区块链 | 理解智能合约</u>》。

    比特币的交易也是可编程的,但是比特币脚本有很多限制,不是图灵完备的。而以太坊脚本是图灵完备的,可以像许多高级语言一样,编写复杂的程序。

    三、编程语言:Solidity

    Solidity是以太坊智能合约的开发语言,它的语法和javascript类似。以后会详细介绍Solidity语言。它的语法相对简单。

    Browser-Solidity是一个浏览器的Solidity IDE, 大家可以点进去看看

    四、运行环境:EVM

    EVM(Ethereum Virtual Machine)以太坊虚拟机是以太坊中智能合约的运行环境。

    智能合约程序都运行在EVM中,就像java程序运行在JVM中一样。

    EVM运行在以太坊节点上,当我们把智能合约部署到以太坊网络,合约就可以在以太坊中运行。

    五、 以太坊客户端(钱包)

    以太坊客户端,其实我们可以把它理解为一个开发者工具,它提供账户管理、挖矿、转账、智能合约的部署和执行等等功能。

    常用客户端有两种Geth和Mist:

    Geth是一个基于命令行的客户端,界面类似这样:

    image

    而Mist是一个基于图形化操作界面的客户端

    image

    六、智能合约的部署

    智能合约的部署是指把合约字节码发布到区块链上,并使用一个特定的地址来标示这个合约,这个地址称为合约账户

    以太坊中有两类账户:

    外部账户

    该类账户被私钥控制(由人控制),没有关联任何代码。

    合约账户

    该类账户被它们的合约代码控制且有代码与之关联。

    外部账户就是我平时转账使用的账户,由人来控制。

    合约账户,是智能合约的地址。当我们从外部账户向合约账户发送指令时,合约代码才能执行。

    相关文章

      网友评论

      • sunny嘴甜甜:推荐一款好玩的区块链产品,下载填邀请码注册即送币哦。
        【数十万人下载的首款全民参与区块链APP——有令,注册就送数字资产YOU,邀请还能再送5000】https://you.ihuanqu.com/download.html 复制链接在浏览器里打开。我的邀请码:9AHJ
      • IT人故事会:写得太好了。老铁,动动手指收藏了
        飞帅记忆:@IT人故事会 感谢支持,哈哈
        飞帅记忆:@IT人故事会 哈哈,谢谢,后期还有更多精彩

      本文标题:01、以太坊开发入门指南 - 快速理解核心概念

      本文链接:https://www.haomeiwen.com/subject/eoajhftx.html