使用 Remix IDE 在 Polkadot Hub 测试网部署 ERC-20 代币(新手完整实战教程)

原文作者:PaperMoon 团队

前言

在区块链应用中,ERC-20 代币是最常见的一类可互换型代币标准,广泛应用于:

• 加密货币发行

• 治理代币设计

• 质押与激励系统

• DeFi 协议资产建模

Polkadot Hub 通过 EVM 后端兼容以太坊智能合约,使开发者可以直接使用 Solidity 与以太坊工具部署 ERC-20 代币合约。

本文将演示如何使用 Remix IDE(基于浏览器的开发工具),在 Polkadot Hub TestNet 上部署一个标准 ERC-20 代币合约,并完成基础交互操作。

本教程所使用的 ERC-20 合约来源于 OpenZeppelin 官方仓库及其合约生成工具(Contracts Wizard)。

准备条件(Prerequisites)

开始前,请确保你具备以下条件:

1. Solidity 与 ERC-20 基础认知

需要理解:

• Solidity 合约基本结构

• ERC-20 代币的基本接口

• 可互换代币(Fungible Token)的概念

2. EVM 兼容钱包(MetaMask)

需要准备并配置好:

• MetaMask 钱包

• 已连接至 Polkadot Hub 测试网

用于后续部署与签名交易。

3. 测试币(Gas 费用)

需要从 Polkadot 官方 Faucet 领取测试代币,用于支付合约部署和调用所需的 Gas。

创建 ERC-20 合约(Create Your Contract)

1. 打开 Remix IDE

在浏览器中访问 Remix IDE,并等待默认工作区加载完成。

2. 创建合约文件

在左侧文件树中:

  1. 展开 contracts 文件夹

  2. 点击 Create new file(新建文件)

  1. 命名为:

    MyToken.sol

3. 编写合约代码

将以下代码粘贴到 MyToken.sol 中:

复制代码
// SPDX-License-Identifier: MIT
// Compatible with OpenZeppelin Contracts ^5.4.0
pragma solidity ^0.8.27;

import {ERC20} from "@openzeppelin/contracts/token/ERC20/ERC20.sol";
import {ERC20Permit} from "@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit.sol";
import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol";

contract MyToken is ERC20, Ownable, ERC20Permit {
    constructor(address initialOwner)
        ERC20("MyToken", "MTK")
        Ownable(initialOwner)
        ERC20Permit("MyToken")
    {}

    function mint(address to, uint256 amount) public onlyOwner {
        _mint(to, amount);
    }
}

4. 合约结构说明

该合约基于 OpenZeppelin 标准库实现,具备以下功能:

(1)继承 ERC20

复制代码
ERC20("MyToken", "MTK")

定义:

• 代币名称:MyToken

• 代币符号:MTK

(2)权限控制(Ownable)

复制代码
Ownable(initialOwner)

设置合约初始管理员地址,仅该地址可执行铸币操作。

(3)授权扩展(ERC20Permit)

复制代码
ERC20Permit("MyToken")

(4)铸币函数 mint

复制代码
function mint(address to, uint256 amount) public onlyOwner

仅管理员可调用,用于发行新代币。

5. 合约来源说明

该示例合约由 OpenZeppelin Contracts Wizard 自动生成,符合主流安全规范。

编译合约(Compile the Contract)

1. 编译作用说明

Solidity 合约在部署前必须经过编译,生成:

• 字节码(Bytecode)

• ABI 接口描述

供区块链执行和前端交互使用。

2. 编译步骤

确保 MyToken.sol 处于打开状态,然后:

  1. 点击左侧 Solidity Compiler 插件

  2. 点击 Compile MyToken.sol

3. 编译结果判断

编译成功后:

• 编译器图标显示绿色对勾

• 无报错信息出现在终端面板

若存在错误,会在底部 Terminal 中提示。

部署合约(Deploy the Contract)

  1. 打开部署面板

点击左侧:

复制代码
Deploy & Run Transactions
  1. 连接 MetaMask

在 Environment 下拉框中选择:

复制代码
Injected Provider - MetaMask

确保钱包已连接 Polkadot Hub TestNet。

  1. 配置构造函数参数

该合约构造函数需要一个参数:

复制代码
constructor(address initialOwner)

表示代币合约管理员地址。

部署前,需要输入:

• 拥有 mint 权限的钱包地址

通常填写当前 MetaMask 地址。

  1. 发起部署

点击:

复制代码
Deploy

随后:

  1. MetaMask 弹出确认窗口

  2. 确认交易信息

  3. 点击批准(Approve)

  4. 部署成功提示

成功后,你将在终端看到:

• 合约地址

• 交易哈希

同时,合约会出现在:

复制代码
Deployed Contracts

合约交互(Interact with the Contract)

部署完成后,可直接在 Remix 中操作合约。

  1. 展开合约面板

在:

复制代码
Deployed / Unpinned Contracts

中找到 MyToken 合约并展开。

  1. 调用 mint 铸币

操作步骤:

  1. 展开 mint 方法

  2. 输入接收地址

  3. 输入数量(注意精度)

  4. 点击 transact

  5. 在 MetaMask 中确认交易

数量精度说明

ERC-20 默认精度为:18 位小数

因此:1 个完整代币 = 1 * 10^18

代币数量 输入值
1 MTK 1000000000000000000
10 MTK 10000000000000000000
  1. 查看余额 balanceOf

调用:

复制代码
balanceOf(address)

传入刚才接收代币的地址,即可查询余额。

  1. 交易结果判断

交易成功后:

• Terminal 中显示绿色对勾

• 钱包余额发生变化

  1. 其他功能交互

你也可以尝试:

• transfer(转账)

• approve(授权)

• allowance(授权额度查询)

操作方式与 mint 类似。

完整流程回顾

本文完整部署流程如下:

1️⃣ 创建 MyToken.sol

2️⃣ 引入 OpenZeppelin 库

3️⃣ 编译 ERC-20 合约

4️⃣ 连接 MetaMask

5️⃣ 配置管理员地址

6️⃣ 部署到测试网

7️⃣ 调用 mint 铸币

8️⃣ 查询余额验证

至此,一个完整 ERC-20 代币系统已成功运行。

原文链接:https://docs.polkadot.com/smart-contracts/cookbook/smart-contracts/deploy-erc20/erc20-remix/

相关推荐
好多大米7 小时前
W2D3-Foundry 测试
区块链·solidity
木西14 小时前
深度复刻 Sky Protocol:基于 OpenZeppelin V5 与 Solidity 0.8.24 的工程实践
web3·智能合约·solidity
Bczheng114 小时前
四.比特币默克尔树(上)
区块链
OxYGC16 小时前
[Web3] 一文读懂区块链中的账本类型
web3·区块链
david_lv16 小时前
大A,2026年Q1总结
区块链
筱璦16 小时前
期货软件开发 - 策略编辑
前端·区块链·交易·期货
Risk Actuary1 天前
侧挂车(Sidecar)与巨灾债券(Cat Bond)
区块链
Css38RttP2 天前
springMVC-RequestMapping注解
区块链
Amos_Web2 天前
Solana开发(1)- 核心概念扫盲篇&&扫雷篇
前端·rust·区块链
OPHKVPS2 天前
GoBruteforcer(GoBrut)僵尸网络新攻势:AI 生成弱配置成“帮凶”,瞄准加密货币及区块链数据库
网络·人工智能·区块链