以太坊是一个开源的有智能合约功能的公共链平台,它允许任何人在平台中建立和使用通过区块链技术运行的去中心化 应用。
可以简单类比理解,以太坊是Android系统,我们可以应用这个平台基于区块链技术写DAPP应用
以太坊平台对底层区块链技术进行了封装,让应用开发者可以基于平台进行开发,开发者只需关注应用本身的开发,而无须关注其底层技术,大大降低了开发难度
核心概念
EVM:以太坊虚拟机,轻量级虚拟机环境,是以太坊中智能合约的运行环境。
Account:账户,分两类:合约账户存储执行的合约代码;外部账户为以太币拥有者账户,对应到某公钥。
Transaction:交易,从一个账户到另一个账户的消息,包括以太币或者合约执行参数。
Gas:燃料,每执行一条合约指令会消耗一定的燃料,当某个交易还未执行结束,而燃料消耗完时,合约执行终止并回滚状态。
以太坊网络中,众多节点彼此链接,构成了以太坊网络
2.1 以太坊网络以太坊节点提供了两个核心功能:交易数据存储、合约代码
在每个以太坊全节点中都保存着完整的数据,不仅有交易的数据,还包括编译后的合约代码,在全节点中还提供一个虚拟机来执行合约代码
交易数据
以太坊中每笔交易都存储在区块链上,当部署合约的时候,一次部署就是一笔交易,这些交易是公开的,每个人都可以看到,这个数据也永远无法篡改
为了确保网络中所有节点都有相同一份拷贝,以太坊目前使用工作量证明(POW: Proof of Work)来形成共识,工作量证明不是达成共识的唯一算法,我们目前只需理解 共识是网络中各个节点的数据实现了一致,POW是众多共识算法的一种,这种算法需要矿工来挖矿来实现非可信环境下的一致性。共识是目的,POW是手段。
智能合约
以太坊不仅仅在区块链上存储交易记录,也保存智能合约代码。你可以理解为,双方在区块链上交易转账时,触发执行的一段代码
在以太坊网络中,智能合约使用Solidity语言来编写业务逻辑,然后将合约代码编译为以太坊字节码部署到区块链上。
以太坊虚拟机
在每个节点包含一个以太坊虚拟机(EVM: Ethereum Virtual Machine)来执行智能合约代码,这一点是区别于比特币最核心的一点。
Solidity语言
browser-solidity 提供了在线的Solidity语言测试,也可以从这里下载包括Solidity运行环境的安装包
网友评论