以太坊作为全球领先的智能合约平台,不仅支持去中心化应用(DApps)的构建,也为创建自定义代币提供了极大的便利,无论是社区币、治理代币,还是实用型代币,你都可以通过以太坊区块链发行自己的代币,本文将带你从零开始,一步步完成一个简单的以太坊代币开发,并涵盖测试、部署等关键环节。

准备工作:开发环境搭建

在开始之前,你需要准备以下工具和环境:

  1. Node.js 和 npm:JavaScript 运行时环境和包管理器,建议 LTS 版本,从 Node.js 官网 下载并安装。
  2. 代码编辑器:如 Visual Studio Code (VS Code),并安装 Solidity 插件,用于语法高亮和智能提示。
  3. 以太坊钱包:如 MetaMask,用于与以太坊网络交互、管理私钥和测试代币,从 MetaMask 官网 安装浏览器插件。
  4. 测试网 ETH:在以太坊测试网络上进行开发和测试,你需要免费的测试 ETH,可以从 Faucet 网站如 Alchemy Sepolia Faucet 或 Goerli Faucet (请确认当前活跃的测试网及水龙头) 获取。
  5. Remix IDE:一个基于浏览器的 Solidity 智能合约开发、测试和部署环境,非常适合初学者,访问 Remix IDE 即可使用,无需安装。

选择代币标准: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 标准还推荐实现 TransferApproval 事件。

使用 Remix IDE 编写第一个 ERC-20 代币合约

Remix IDE 提供了强大的模板功能,可以快速生成 ERC-20 合约。

  1. 打开 Remix IDE:在浏览器中访问 remix.ethereum.org

  2. 创建新文件:在左侧 "File Explorers" 标签页中,点击 "Create New File",命名为 MyToken.sol

  3. 选择 Solidity 编译器版本:在左侧 "Solidity Compiler" 标签页中,确保编译器版本是 8.0 或更高(推荐使用较新的稳定版本,如 8.19)。

  4. 使用合约模板

    • 在 "File Explorers" 中找到 MyToken.sol,点击文件名旁边的下拉箭头。
    • 选择 "Create New File" -> "Contract" -> "ERC20"。
    • Remix 会自动生成一个 ERC-20 合约模板。
  5. 修改合约参数

    • 你会看到类似下面的代码(简化后):
    随机配图