以太坊作为全球领先的智能合约平台,不仅支持去中心化应用(DApps)的构建,也为创建自定义代币提供了极大的便利,无论是社区币、治理代币,还是实用型代币,你都可以通过以太坊区块链发行自己的代币,本文将带你从零开始,一步步完成一个简单的以太坊代币开发,并涵盖测试、部署等关键环节。
准备工作:开发环境搭建
在开始之前,你需要准备以下工具和环境:
选择代币标准:ERC-20
以太坊上有多种代币标准,其中最常用的是 ERC-20,它定义了一组通用的接口(函数和事件),确保代币在不同钱包和交易所之间的兼容性和互操作性,ERC-20 代币必须实现以下核心功能:
name():代币名称 (e.g., "My Awesome Token")symbol():代币符号 (e.g., "MAT")decimals():代币小数位数 (e.g., 18)totalSupply():代币总供应量balanceOf(address owner):查询指定地址的代币余额transfer(address to, uint256 amount):转移代币到指定地址transferFrom(address from, address to, uint256 amount):从指定地址转移代币(需要授权)approve(address spender, uint256 amount):授权某个地址可以花费你的代币allowance(address owner, address spender):查询某个地址被授权的代币数量ERC-20 标准还推荐实现 Transfer 和 Approval 事件。
使用 Remix IDE 编写第一个 ERC-20 代币合约
Remix IDE 提供了强大的模板功能,可以快速生成 ERC-20 合约。
打开 Remix IDE:在浏览器中访问 remix.ethereum.org。
创建新文件:在左侧 "File Explorers" 标签页中,点击 "Create New File",命名为 MyToken.sol。
选择 Solidity 编译器版本:在左侧 "Solidity Compiler" 标签页中,确保编译器版本是 8.0 或更高(推荐使用较新的稳定版本,如 8.19)。
使用合约模板:
MyToken.sol,点击文件名旁边的下拉箭头。修改合约参数:

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.19;
import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
contract MyToken is ERC20 {
constructor(string memory name, string memory symbol) ERC20(name, symbol) {
_mint(msg.sender, 1000 * 10**decimals());
}
}
解释:
SPDX-License-Identifier:许可证标识符。pragma solidity ^0.8.19;:指定 Solidity 编译器版本。import "@openzeppelin/contracts/token/ERC20/ERC20.sol";:导入 OpenZeppelin 提供的、经过审计的 ERC-20 合约实现,这是推荐做法,避免重复造轮子并提高安全性。contract MyToken is ERC20:声明 MyToken 合约继承自 ERC20。constructor(string memory name, string memory symbol) ERC20(name, symbol):构造函数,在合约部署时调用,用于设置代币名称 (name) 和符号 (symbol),并调用父类 ERC20 的构造函数。_mint(msg.sender, 1000 * 10**decimals());:在部署时向合约部署者 (msg.sender) mint(铸造)1000 个代币。10**decimals() 是为了考虑小数位数(默认 18,所以实际是 1000 * 10^18)。自定义:你可以修改 constructor 中的 name 和 symbol,以及初始铸造的代币数量。
constructor() ERC20("My Awesome Token", "MAT") {
_mint(msg.sender, 1000000 * 10**18); // 初始供应量 1,000,000 代币
}
编译合约:
部署合约到测试网
连接测试网:
部署合约:
MyToken 合约。name 和 symbol,这里可能为空或显示默认值,如果没有硬编码,你需要在这里输入,例如输入 "My Test Token" 和 "MTT"。确认交易:
验证代币
在 MetaMask 中添加代币:
使用 Etherscan 验证:
**六、 进