以太坊实战篇-创建并运行一个最简单的转账合约

以太坊智能合约实战篇-创建并运行一个最简单的转账合约

在比特币网络中的每一笔转账交易都可以被记录,而且无法篡改,这是比特币最核心也是最具价值的特性。

受比特币的启发,以太坊创新性的提出了智能合约,将单纯的转账交易泛化为可以支持复杂规则的合约,让每笔合约的执行都被记录在以太坊网络中,而且合约的执行结果无法被篡改,这就是以太坊相对于比特币的核心特点,也是质的飞跃。

智能合约的作用可以说是无穷无尽,其中之一就是发行虚拟货币。下面,我们将一步一步演示如何使用智能合约发布虚拟货币。希望读者可以和我一起思考,以太坊从哪里来,又到哪里去的这个深刻的问题。

  1. 初始化项目

在发行虚拟货币前,需要先给它取一个漂亮的名字。最近元宇宙(metaverse)的概念比较火,拾人牙慧,不如就称它为metacoin

使用下面的命令初始化项目

$ mkdir metacoin
$ cd metacoin
$ truffle init

初始化完成以后,metacoin文件夹中将出现三个文件夹和一个配置文件:

  • \contracts文件夹用来存放智能合约源代码,可以看到里面已经有一个sol文件。

  • \migrations文件夹用来存放部署智能合约的脚本,可以看到里面已经有一个js文件。

  • \test用来存放测试智能合约的代码,支持jssol测试。

  • truffle-config.jsTruffle的配置文件,在这里可以配置智能合约需要部署的以太坊网络的位置。

构建完成后的文件夹结构如下图所示:

image-20211217215149242

  1. 创建合约

下面,我们创建一个合约和针对这个合约的测试

$ truffle create contract Metacoin
$ truffle create contract MetacoinTest

此时,再来查看目录结构,新增了两个文件,Metaconin.sol表示的就是合约文件、metacoin_test.js表示的就是合约的测试文件:

image-20211217215547579

正如下面这段代码所示,使用truffle创建的合约文件Metacoin.sol中,除了必要的声明,并没有包含任何合约逻辑,真正的合约逻辑,还需要我们自己来编写。

// SPDX-License-Identifier: MIT
pragma solidity >=0.4.22 <0.9.0;

contract Metacoin {
  constructor() public {
  }
}

下面是一个可以运行的最简单的合约,这个合约包含一个构造函数和两个普通函数,构造函数用来给合约创建地址初始化10000Metacoin代币,sendConin函数用来发送代币,getBalance函数用来参数提供账户地址中代

  • 5
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值