使用 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/

相关推荐
China_Yanhy2 小时前
入职 Web3 运维日记 · 第 7 日:消失的 5 万 U —— 归档节点与 Nginx 的智能分流
运维·区块链
ETFOption2 小时前
ETF期权实战手册:从策略构建到动态管理的完整流程
区块链
模型时代1 天前
Infosecurity Europe欧洲信息安全展将推出网络安全初创企业专区
安全·web安全·区块链
devmoon1 天前
智能合约实战 - 水龙头哪里领和创建第一个智能合约地址
web3·区块链·测试用例·智能合约·solidity
Mr.朱鹏1 天前
预测-下一个互联网风口?【PolyMarket调研】
web3·区块链·互联网·预测·加密货币·polymartet·风口
MicroTech20251 天前
微算法科技(NASDAQ :MLGO)抗量子攻击区块链共识机制:通过量子纠缠态优化节点验证流程,降低计算复杂度
科技·算法·区块链
财迅通Ai1 天前
《2025年香港IPO及二级市场白皮书》发布:港股投资热情高涨 基石投资金额突破千亿
区块链
傻小胖1 天前
20.ETH-难度调整-北大肖臻老师客堂笔记
笔记·区块链
草原猫1 天前
Web3 生态构建:DAPP 开发的创新方向与落地路径
区块链·dapp开发