ERC-20 是最常见的同质化代币标准,广泛用于构建:区块链加密货币,治理代币,质押 / Staking 机制等。Polkadot Hub(Asset Hub) 通过 PolkaVM + 以太坊兼容智能合约,让开发者可以像在 Ethereum 上一样,快速完成代币部署,并直接接入 MetaMask 等钱包。
本教程将使用:
-
Polkadot Remix IDE:网页版 Solidity 开发工具
-
OpenZeppelin 官方合约:安全、合规的 ERC-20 实现
-
Polkadot Faucet 的 PAS 测试币:用于支付 Gas
目标:在 Polkadot Hub TestNet 上部署一个支持 owner mint 的 ERC-20 代币。
二、前置条件
开始前请准备:
-
已安装并将钱包连接到 Polkadot Hub 的 MetaMask
-
账户中拥有少量 PAS / PAS 测试币(从 Faucet 获取)
-
具备基础 Solidity 与代币概念
三、创建 ERC-20 合约
1. 打开 Polkadot Remix IDE
进入 Polkadot Remix IDE 页面

2. 新建文件
在 contracts 文件夹下:
-
点击 Create new file
-
命名为:
MyToken.sol
3. 粘贴以下代码
MyToken.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.22;
import {ERC20} from "@openzeppelin/contracts/token/ERC20/ERC20.sol";
import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol";
contract MyToken is ERC20, Ownable {
constructor(address initialOwner)
ERC20("MyToken", "MTK")
Ownable(initialOwner)
{}
function mint(address to, uint256 amount) public onlyOwner {
_mint(to, amount);
}
}
代码要点
-
使用 OpenZeppelin:
-
ERC20.sol:实现转账、授权、余额
-
Ownable.sol:只有 owner 才能 mint
-
-
构造函数:
-
initialOwner:代币管理员
-
"MyToken":代币名称
-
"MTK":代币符号
-
-
mint():
-
数量需按 18 decimals
-
1 个代币 = 1000000000000000000
-
小技巧
💡 可用 OpenZeppelin Contracts Wizard 快速生成自定义代币合约,再粘贴到 Polkadot Remix 中部署。

四、编译合约
1. 选择左侧插件:Solidity Compiler

2. 点击:Compile MyToken.sol

3. 成功后会看到:
-
绿色 ✔️ checkmark
-
Compiler 图标变为成功状态

编译过程会:
-
检查语法
-
生成可上链的 bytecode
五、部署合约
1. 打开部署插件
选择:Deploy & Run Transactions

2. 设置环境
-
ENVIRONMENT 选择:
Injected Provider – Talisman
-
ACCOUNT 选择你要部署的地址

3. 填写参数
-
输入 owner 地址
-
点击:Deploy

4. 钱包确认
Talisman / MetaMask 会弹窗:
-
检查 Gas 与数据
-
点击 Approve

部署成功后终端会显示:
-
Contract Address
-
Tx Hash

六、与代币交互
1. 展开已部署合约
在:Deployed / Unpinned Contracts

点击合约即可看到方法:
-
balanceOf
-
transfer
-
approve
-
transferFrom
-
👉 mint
2. Mint 新代币
进入 mint():
-
填写:
-
接收地址
-
数量(1 代币加 18 个 0)
-
-
点击:Transact → Approve

成功后终端会返回:
-
交易回执
-
余额已更新

3. 常用方法
-
balanceOf(address):查询余额
-
transfer(to, amount):转账
-
approve(spender, amount):授权
-
transferFrom():被授权转账
-
allowance():查询授权额度
七、完成 🎯
你已获得:
-
一个 Ethereum 兼容的 ERC-20 代币
-
运行在 Polkadot Hub PolkaVM 上
-
可直接接入 EVM 钱包生态
接下来你可以:
-
设计质押合约
-
作为治理投票 token
-
接入前端 dApp
阅读原文:https://docs.polkadot.com/tutorials/smart-contracts/deploy-erc20/
828

被折叠的 条评论
为什么被折叠?



