:2026-03-29 23:36 点击:1
你是否也曾梦想过拥有一个属于自己的数字货币?无论是用于社区激励、项目众筹,还是仅仅是出于技术探索,在以太坊上发行一款属于自己的代币(Token)已经不再是遥不可及的事情,通过以太坊的智能合约标准ERC-20,你可以在区块链上创建一种可交易、可编程的数字资产。
本教程将为你提供一份详尽的、零基础的ERC-20代币发行指南,带你一步步完成从构思到部署的全过程。
在动手之前,我们首先要明白几个核心概念:
在开始之前,请确保你已经准备好以下工具:
我们将使用最流行的智能合约开发语言 Solidity 来编写我们的ERC-20代币合约,这里我们使用一个经过社区广泛验证的开源模板,避免自己编写代码可能出现的漏洞。
MyToken,并在其中创建一个名为 MyToken.sol 的文件。MyToken.sol 文件,将以下代码复制进去。// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;
import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
contract MyToken is ERC20 {
constructor(string memory name, string memory symbol) ERC20(name, symbol) {
_mint(msg.sender, 1000000 * 10**18); // 初始发行100万个代币,18位小数
}
}
代码解析:
SPDX-License-Identifier: MIT;:声明代码的许可证。pragma solidity ^0.8.20;:指定编译器版本,^0.8.20 表示使用 0.8.20 到 0.9.0 之间的编译器。import "@openzeppelin/contracts/token/ERC20/ERC20.sol";:从OpenZeppelin库导入标准ERC-20合约,OpenZeppelin是一个提供安全、审计过的智能合约标准库的著名项目,强烈建议使用。contract MyToken is ERC20 { ... }:定义一个名为 MyToken 的新合约,它继承(is)了OpenZeppelin的 ERC20 合约,因此自动拥有了所有ERC-20标准的功能(如 transfer, balanceOf 等)。constructor(string memory name, string memory symbol) ERC20(name, symbol) { ... }:这是合约的构造函数,只在合约部署时执行一次。name 和 symbol 是代币的全称和简称(如 "My Awesome Token" 和 "MAT")。_mint(msg.sender, 1000000 * 10**18);:这是核心的代币发行逻辑。_mint 是OpenZeppelin提供的函数,用于创建新代币。msg.sender 是部署合约的地址(也就是你的钱包地址)。1000000 * 10**18 是初始发行量,我们乘以 10**18 是因为ERC-20标准建议18位小数,这样可以方便地处理小数(1个代币等于 1 * 10^18 个最小单位)。Solidity by Juan Blanco 插件,它提供了语法高亮和编译功能。
MyToken.sol 文件。Ctrl+Shift+P (Windows) 或 Cmd+Shift+P (Mac) 打开命令面板。Solidity: Compile 并回车。我们将使用 Remix IDE 来完成部署,Remix是一个基于浏览器的、专为Solidity设计的集成开发环境,无需本地配置,非常方便。
remix.ethereum.org。MyToken.sol,然后将你在VS Code中写好的代码粘贴进去。Injected Provider - MetaMask,这会连接到你浏览器中安装的MetaMask钱包。MyToken。name 和 symbol,填入你的代币信息,My Awesome TokenMAT本文由用户投稿上传,若侵权请提供版权资料并联系删除!