1.2 以太坊智能合约
以太坊智能合约虚拟机(EVM):可编程的去中心化平台,任何系统开发者在支付一定的部署费用之后,就可以拥有一套完全去中心化的业务系统,称作DAPP。
1.2.1 以太坊
- 以太坊的状态:由以太坊上的所有账户组成全局状态。
- 以太坊的账户:地址与账户状态的一个映射结构。账户分为外部账户(存放用户余额和转账的账户)和智能合约账户(区块链地址及其状态的映射关系)。
- 交易:可以由外部账户发起,也可以由合约账户发起,创建合约账户的代码通过Solidity编程语言编写,通过以太坊的智能合约编译器编译生成。
- 账户生成之后,会开辟账户存储空间和以太坊虚拟机可以理解并执行的代码。
- 智能合约生成后,通过ABI接口调用该智能合约,传入外部数据,通过以太坊智能合约虚拟机读取合约代码,修改区块链状态,最新的状态存放在以太坊公链上。
1.2.2 EVM
硬分叉:某条公链的某些特征或者增加对某种场景的支持,开发者必须在原有的公链设计的基础上修改系统底层源代码,并重新维护一套公链生态。
以太坊EVM:基于以太坊现有的公链网络和矿机组织、共识社区,通过EVM提供的编程API来编写智能合约,就可以完成一套区块链系统。EVM的出现使得对区块链编程成为可能。
1.2.3 智能合约
以太坊公链的代码稳定的是GO语言和C++语言的版本。
扫描二维码关注公众号,回复:
8515578 查看本文章
1.2.4 DAPP
DAPP:为了使广大用户理解并方便快捷地访问区块链及区块链上的智能合约系统,开发者必须提供操作界面和结果查询界面,来简化用户访问和操作区块链的方式。