:2026-02-16 9:54 点击:3
以太坊作为全球领先的智能合约平台,不仅支持加密货币以太坊(ETH)的交易,更重要的是,它使得任何人都可以在其区块链上发行自己的代币,这些代币遵循以太坊上的标准,其中最著名和广泛使用的是ERC-20标准(用于 fungible tokens,即同质化代币,如交易所的交易币)和ERC-721标准(用于 NFTs,即非同质化代币,每个代币独一无二),本教程将以最常用的ERC-20代币为例,带你一步步了解如何在以太坊上发行自己的代币。
重要提示: 发行代币涉及技术、财务和法律风险,在尝试之前,请确保你已充分了解相关风险,并可能需要咨询法律和财务专业人士,本教程仅供学习和参考,不构成任何投资建议。
在开始编写智能合约之前,你需要准备以下工具和环境:
一个以太坊钱包:
以太币(ETH):
代码编辑器:
Solidity 编译器:
(可选)Remix IDE:
Remix IDE 是一个对初友好的在线工具,我们通过它来创建和部署代币合约。
访问 Remix IDE:
remix.ethereum.org。创建新文件:
MyToken.sol(或你喜欢的任何名字,后缀必须是 .sol)。编写 ERC-20 代币合约代码:
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
contract MyToken is ERC20 {
constructor(uint256 initialSupply) ERC20("My Token", "MTK") {
_mint(msg.sender, initialSupply);
}
}
代码解释:
SPDX-License-Identifier: MIT:声明许可证类型。pragma solidity ^0.8.0;:指定 Solidity 编译器版本,这里使用 0.8.0 或更高版本。import "@openzeppelin/contracts/token/ERC20/ERC20.sol";:导入 OpenZeppelin 库中的标准 ERC-20 合约实现,OpenZeppelin 提供了经过审计的安全合约模板,强烈建议使用,而不是自己从头实现所有逻辑,以避免安全漏洞。contract MyToken is ERC20 { ... }:定义一个名为 MyToken 的新合约,它继承自 OpenZeppelin 的 ERC20 合约,因此自动获得了所有 ERC-20 标准的功能(如总供应量、余额查询、转账、授权等)。constructor(uint256 initialSupply) ERC20("My Token", "MTK") { ... }:构造函数,在合约部署时执行一次。ERC20("My Token", "MTK"):调用父类 ERC20 的构造函数,设置代币的名称(Name)为 "My Token",符号(Symbol)为 "MTK"。_mint(msg.sender, initialSupply);:铸造代币。_mint 是 ERC20 合约提供的内部函数,用于创建新的代币,这里将 initialSupply 数量的代币铸造给合约的部署者(msg.sender)。编译智能合约:

pragma solidity 版本兼容(0.8.7 或更高)。部署智能合约:
initialSupply 的输入框,这是你想要发行的代币初始总量。注意: 这里输入的数量是最小单位,如果你想发行 1,000,000 个代币,并且每个代币没有小数位(decimals = 0),那么你就输入 1000000,如果你想发行 1,000,000 个代币,并且有 18 位小数(ERC-20 标准默认小数位数),那么你就输入 1000000 * 10**18,在 Remix 中可以简写为 1000000e18。验证和测试你的代币:
MyToken 合约,旁边有一长串以 0x 开头的字符串,这就是你的代币合约地址。transfer 函数,或者其他支持 ERC-20 代币的测试 DApp 来测试你的代币是否可以正常转账。本文由用户投稿上传,若侵权请提供版权资料并联系删除!