区块链区块链研习社区块链研究

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

2018-04-06  本文已影响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

六、智能合约的部署

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

以太坊中有两类账户:

外部账户

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

合约账户

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

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

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

上一篇 下一篇

猜你喜欢

热点阅读