主页 > imtoken正版app下载 > 以太坊和智能合约的简单介绍

以太坊和智能合约的简单介绍

imtoken正版app下载 2023-10-17 05:11:13

前言

不知道大家有没有听说过Eth(以太坊广场),但是ICO大家一定听说过。 但是你知道ICO其实是借助Eth的智能合约实现的吗? 什么是智能合约,为什么 ETH 如此受欢迎? 智能合约有什么特点,如何编写智能合约? 还有基于智能合约的Dapp,即分布式应用。 什么是 Dapp?

以太坊智能合约原理_以太坊智能合约实验_以太坊智能合约理解

本系列文章将全面介绍以太坊的原理、特点和机制以太坊智能合约实验,以及涉及的各种概念。

区块链如何运作

首先大家要了解区块链。 这里只是简单的描述。 区块链是整个网络的账单链。 链上用户用自己的私钥对交易内容进行加密,发送到网络后,矿工通过竞争将加密后的内容提交到区块链上,同时,交易者支付的交易手续费获得用户。

由于每个人都在争夺加密内容,全网的算力就是用户提交内容的见证,所以区块链交易是快速且不可逆的。

帐户和消息

区块链中的一笔交易是从一个地址转账到另一个地址的基本单位,以太坊在这里将这种行为抽象为消息传递。 每条消息都有一个发送者和一个接收者,消息的内容可以是一笔交易,也可以是一条信息。 转账,其实就是一个消息传递。

以太坊中有两种账户,一种是普通人操作的账户,一种是智能账户。 普通账户只有当前的以太币数量,智能账户存储两个东西:状态和代码。 这些代码在收到相应消息时执行,从而改变其状态。 这些账户也是所谓智能合约的载体。

这些智能账户是智能合约的基础。 要了解智能合约是如何执行的,您必须首先了解 EVM。

EVM

如前所述,真正的计算是在每个矿工的计算机中进行的。 以太坊的改进在于,当矿工收集到足够的信息来加密生成区块时,必须启动一个运行环境,即EVM,在智能账户收到消息时运行相应的代码。

这个环境包含了一些内置变量,比如当前区块的编号,源地址等,同时也提供了一些API,一个智能合约执行的栈。

通过EVM运行代码后,智能账户的状态发生了变化以太坊智能合约实验,然后矿工将这些状态连同普通账户中的资金变化一起加密生成新的区块,并与全网账单挂钩。 因此,一笔交易只会出现在一个区块中,必须经过多数算力的确认才能挂载,这样才能保证这些代码执行的唯一性和正确性。

以太坊智能合约实验_以太坊智能合约理解_以太坊智能合约原理

智能合约的例子

这个概念有时比较晦涩,我们举一个捐赠智能合约的例子来帮助理解:

假设我们要向全网用户募捐,我们可以先定义一个智能账户,它有三种状态:当前募捐总额、募捐目标和收款人地址,然后为它定义两个函数:

接收捐赠功能

筹款功能每次收到转账请求,首先检查发送方是否有足够的钱(EVM会提供发送方的地址,程序可以通过地址获取此人当前的区块链财务状况。)然后每次捐赠函数被调用,它将当前捐赠总额与捐赠目标进行比较。 如果超过目标,则将当前收到的所有捐款发送到捐赠人指定的地址,否则,仅发送当前的总捐赠状态值。

捐赠功能

将所有捐款发送至收款人保存的地址,并将当前捐款总额清零。

每个想募捐的人都用自己的eth地址向智能账户发起转账,并表示要调用函数接受他的捐款。

所以我们有一个捐款的智能合约,人们可以向它捐款,钱会在达到限额后自动发送到指定的账户。 全世界的矿工都在计算和保证这个合约,不需要人盯着看。 没有被盗用,这就是智能合约的魅力所在。

以太坊智能合约实验_以太坊智能合约理解_以太坊智能合约原理

以太坊的核心智能合约机制大概是这样的,但是并不复杂。 下面我们就来谈谈ICO是如何借助智能合约实现的。 其实原理很简单,理解了就会大吃一惊。

推荐一个适合区块链开发初学者的教程:以太坊DApp实战开发