智能合约如何做

· 头条

(一)以太坊虚拟机

“虚拟机”是计算机领域里面的一个术语,可以理解为一个虚拟环境,在这个虚拟环境中可以随意进行操作,而不影响计算机性能。以太坊本质上就是一个虚拟机,只不过它是一个点对点的、去中心化的虚拟机(英文缩写EVM):

像所有区块链技术那样,全世界的节点都会在自己的电脑上运行软件,这个包含全世界节点的“世界级计算机”就被称为以太坊虚拟机(EVM)。

以太坊虚拟机,我们可以理解为一个系统,这个系统是用来为以太坊智能合约创建运行环境的。

(二)以太坊账户

以太坊设置了两种账户:一种是我们可以操作的正常账户(英文缩写是EOA),另一种叫作“智能账户”。

正常账户”(也就是EOA账户)里面只有当前的以太坊钱数,由我们手中的私钥控制,可以发起转账交易;

而“智能账户”中,不仅有以太坊钱数,还有程序代码,代码的执行是由交易触发的,每当收到相应的消息,这些代码就会被执行,这个智能账户就是智能合约的载体。

(三)以太坊虚拟机和以太坊账户有啥关系?

了解了以太坊虚拟机和以太坊账户这两个概念之后,我们再来讲一讲,以太坊虚拟机和以太坊的两个账户有什么关系。首先是以太坊的“正常账户”。

从以太坊“正常账户”转移以太坊的时候,转账方式和比特币差不多:

我把3个以太坊从我的账户转移到依依的账户,这个转账使用的是正常账户,需要输入依依的钱包地址、转账的数额,和比特币转账很像,就不多说了。

然后是以太坊的“智能账户”。

从以太坊“智能账户”转移以太坊的时候,就涉及到了虚拟机和智能合约:

例如,我决定在发工资那天给依依转3个以太坊,这就相当于我们达成了一个约定,那么当我发工资那天,虚拟机就会运行特定的代码,3个以太坊会自动从我的智能账户中转出3个以太坊给依依。

上面我们介绍了智能合约怎么样更便捷地达成交易。紧接着,我们说一说,智能合约的另一大作用:它可以让我们更灵活地开发Dapp(也就是区块链应用)