智能合约:3分钟开发ERC20 token(2)

0.前言

上一节我们讲到了开发智能合约的准备工作,以及在线编程平台remix
智能合约(1)

这一节讲解如何开发、发行一个代币,并具备包括代币铸造mint,转账transfer和销毁burn功能,并确保合约拥有者owner的权限。

1.代码编写

我们使用代码生成工具完成代码编写,生成网址如下:
ERC20代码生成网址

也可以直接复制下面代码到remix,代码如下:

c 复制代码
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;

import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
import "@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol";
import "@openzeppelin/contracts/access/Ownable.sol";
import "@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit.sol";

contract MyToken is ERC20, ERC20Burnable, Ownable, ERC20Permit {
    constructor(address initialOwner)
        ERC20("MyToken", "MTK")//此处表示代币的名称和缩写
        Ownable(initialOwner)
        ERC20Permit("MyToken")
    {}

    function mint(address to, uint256 amount) public onlyOwner {
        _mint(to, amount);
    }
}

本文重点放在理解ERC20的术语含义和工作过程中

2.功能解释

在remix虚拟机完成部署后,会出现下列外部可见的函数

黄色代表这些函数需要写入区块链,需要交易费用gas,

蓝色则代表这些函数仅读取数据,无需交易费用gas.

mint

首先是mint铸造功能

输入地址和铸造数量即可向当前账户铸造名为"my token"的代币100个

查询余额发现账号增加了100代币

transfer

其次是transfer转账功能,

向另一个地址转账20个代币,

查询余额发现只剩80代币

查询被转帐的账户,发现余额成功转入20代币。

burn

销毁代币burn,

在余额足够的情况下,可以直接使用burn函数销毁自己名下的代币,此处我们使用剩余80代币的账户,销毁20代币

查询余额,可见剩余60代币,说明销毁成功。

totalSupply

总体供应量,用于查询全区块链剩余的代币总量,由于我们铸造了100代币,又销毁了20代币,所以当前全网剩余80代币,其中A账户60代币,B账户20代币。

相关推荐
清 晨4 小时前
Web3与智能合约:区块链技术下的数字信任体系
web3·区块链·智能合约
程序猿阿伟2 天前
《C++编写以太坊智能合约:安全至上的编程之道》
c++·安全·智能合约
MavenTalk3 天前
solana链上智能合约开发案例一则
rust·区块链·智能合约·dapp·solana
一水鉴天4 天前
智能工厂的设计软件 为了监管控一体化的全能Supervisor 的监督学习 之 序6 进化论及科学的信息技术创新:分布式账本/区块链/智能合约
开发语言·人工智能·学习·区块链·智能合约·分布式账本
元宇宙中心5 天前
SOL链上Meme生态的崛起与未来#Dapp开发#链游#交易所#公链搭建
区块链·智能合约·dapp开发·链游开发·公司开发·交易所搭建·技术合作
web3探路者6 天前
2024年 Web3开发学习路线全指南
学习·web3·区块链·智能合约·软件开发·dapp开发·公司开发
天涯学馆7 天前
从零到英雄:Solidity 智能合约开发全攻略
后端·智能合约·solidity
电报号dapp1198 天前
区块链智能合约开发:全面解析与实践指南
区块链·智能合约
程序员 jet_qi13 天前
区块链应用第1讲:基于区块链的智慧货运平台
区块链·智能合约·数字身份·did·货运平台·可验性证明·vc
bigbig猩猩14 天前
深入理解智能合约 ABI
区块链·智能合约