10 分钟完成首个 ERC-20 代币:MetaMask + Ankr + Hardhat 全流程

·

“如果我也能拥有自定义代币就好了”——只要 10 分钟,你就能把这句心声变成链上现实。本文以 Goerli 测试网 为例,手把手教你用 Ankr RPCHardhat 编写、部署一枚完全符合 ERC-20 标准 的代币,并借助 MetaMask 实时查看余额与交易记录。

ERC-20 基础知识快速扫盲

掌握这三个关键词,你已经站在 Web3 创新创业的起跑线。

👉 解锁更多实战案例,今天就让创意上链!


准备阶段:工具与环境

  1. MetaMask 浏览器插件
  2. Node.js ≥ 16.x
  3. Git(可选)
  4. Goerli ETH 测试币

步骤 1:安装并配置 MetaMask

打开 MetaMask 官网 完成插件安装后:

步骤 2:领取 Goerli 测试币

访问官方水龙头 Chainlink Faucet

步骤 3:初始化 Hardhat 项目

mkdir erc20-token-demo && cd erc20-token-demo
npm init -y
npm install --save-dev hardhat
npx hardhat

选择 Create a JavaScript project,一路回车。安装完毕后:

rm contracts/Greeter.sol scripts/sample-script.js
mkdir -p contracts scripts test
npm install -D dotenv

加密的 .env 用于存放私钥,防止误提交:

PRIVATE_KEY=Your_MetaMask_Private_Key_Without_0x

声明:私钥只部署本地设备,切勿上传 GitHub。


步骤 4:对接 Ankr 公共 RPC

Ankr 提供高速、免费的 Goerli 节点 无注册即可使用。复制 RPC 端点:

https://rpc.ankr.com/eth_goerli

编辑 hardhat.config.js

require("dotenv").config();
require("@nomicfoundation/hardhat-toolbox");

module.exports = {
  solidity: "0.8.20",
  networks: {
    goerli: {
      url: "https://rpc.ankr.com/eth_goerli",
      accounts: [process.env.PRIVATE_KEY]
    }
  }
};

步骤 5:编写 ERC-20 智能合约

安装 OpenZeppelin 现成模板:

npm install @openzeppelin/contracts

contracts/ 新建文件 MyFirstToken.sol,命名即未来代币名:

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;

import "@openzeppelin/contracts/token/ERC20/ERC20.sol";

contract MyFirstToken is ERC20 {
    constructor(uint256 initialSupply) ERC20("MyFirstToken", "MFT") {
        _mint(msg.sender, initialSupply * 10 ** decimals());
    }
}
npx hardhat compile

👉 想立即实操领取教程配套仓库?


步骤 6:部署脚本一键上链

新建 scripts/deploy.js

const hre = require("hardhat");

async function main() {
  const MyFirstToken = await hre.ethers.getContractFactory("MyFirstToken");
  const token = await MyFirstToken.deploy(1000000);
  await token.deployed();
  console.log("Token deployed to:", token.address);
}

main().catch((error) => {
  console.error(error);
  process.exitCode = 1;
});

命令行运行:

npx hardhat run scripts/deploy.js --network goerli

终端输出一串 42 字符地址,即 ERC-20 代币合约地址,复制保存。

浏览器打开 Goerli Etherscan 输入该地址,查看 合约源码、创建区块、交易哈希,确认部署成功。


步骤 7:MetaMask 手动添加代币


FAQ:新手最常遇到 5 个问题

Q1:水龙头领不到 Goerli ETH?
A:推特、谷歌登录成功后多次刷新页面;可尝试官方 Discord 二次申请。

Q2:Windows 编译报错 nothing to compile?
A:运行 npm install [email protected] 再次编译即可。

Q3:私钥泄露后果?
A:立即停止该账号,换新地址并转移资产。Hardhat 支持配置文件多网络,可为生产环境单独设置。

Q4:合约已部署还能改总供应量吗?
A:除非在代码内加入 铸币权限,否则不可增发。若想通涨/通缩,请在部署前引入 ERC20BurnableERC20Capped

Q5:Mainnet 部署要注意什么?
A:Verify 合约源码、预留足够 ETH 做 Gas、提前做安全审计、引入多签管理。


结语与下一步

恭喜,你已完整部署 自定义 ERC-20 代币,利用 Ankr RPC、Hardhat 与 OpenZeppelin 的标准库仅花费 <0.01 USD 测试网成本。现在可以将代币用于:

👉 无限链上玩法待你开启,立即动手!