这里是以太坊开发系列课程,我将带你从技术开发的角度理解以太坊,深入区块链底层,以最清晰的视角与区块链零距离亲密接触。
在这里,我将带你挖矿开发自己的代币,编写智能合约还有其他有趣的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六、智能合约的部署
智能合约的部署是指把合约字节码发布到区块链上,并使用一个特定的地址来标示这个合约,这个地址称为合约账户
以太坊中有两类账户:
外部账户
该类账户被私钥控制(由人控制),没有关联任何代码。
合约账户
该类账户被它们的合约代码控制且有代码与之关联。
外部账户就是我平时转账使用的账户,由人来控制。
合约账户,是智能合约的地址。当我们从外部账户向合约账户发送指令时,合约代码才能执行。
网友评论
【数十万人下载的首款全民参与区块链APP——有令,注册就送数字资产YOU,邀请还能再送5000】https://you.ihuanqu.com/download.html 复制链接在浏览器里打开。我的邀请码:9AHJ