手把手教你,以太坊ERC20代币制作全流程指南
在区块链和加密货币的世界里,以太坊(Ethereum)凭借其智能合约平台的功能,成为了发行代币的首选网络,ERC20是以太坊上最常用、最标准的代币技术标准,它规定了代币的基本功能,如转账、余额查询、授权等,确保了代币之间的互操作性,本文将为你提供一份详尽的以太坊ERC20代币制作教程,即使你是新手,也能一步步跟随完成自己的代币创建。
准备工作:在开始之前,你需要这些
-
一个以太坊钱包:
- 推荐MetaMask:这是最流行且用户友好的浏览器钱包插件,支持Chrome、Firefox等浏览器,它不仅能存储ETH和ERC20代币,还能让你与去中心化应用(Dapps)交互,包括智能合约的部署。
- 创建并备份钱包:安装MetaMask后,按照提示创建新钱包,务必妥善保存助记词(Seed Phrase),这是你恢复钱包的唯一凭证,绝对不要泄露给他人。
-
以太币(ETH):

部署智能合约需要支付一定的Gas费(网络交易费),你需要向MetaMask钱包中转入足够的ETH,以支付部署代币合约的费用,Gas费价格会因网络拥堵程度而波动,建议提前了解当前Gas价格。
-
基本的编程概念(可选但推荐):
虽然我们可以使用现成的模板,但了解一点Solidity(以太坊智能合约编程语言)的基础知识,能帮助你更好地理解代币的机制,并根据需求进行修改。
-
代码编辑器:
如Visual Studio Code (VS Code),用于编写和查看智能合约代码。
选择代币合约模板
对于大多数简单代币,我们不需要从零开始编写智能合约,可以使用经过社区广泛验证的模板,最著名的是OpenZeppelin Contracts。
-
访问OpenZeppelin官网:
- 打开浏览器,访问 OpenZeppelin Contracts。
-
获取ERC20合约代码:

- 在OpenZeppelin文档中,你可以找到标准的ERC20合约代码,我们会使用
ERC20.sol和Ownable.sol(可选,用于添加所有权功能,只有合约所有者可以执行某些操作,如增发代币)。 - 你可以直接复制这些代码到你的VS Code中,或者通过npm(Node包管理器)安装OpenZeppelin合约库,但这对于初学者来说可能稍复杂,直接复制代码更直观。
- 在OpenZeppelin文档中,你可以找到标准的ERC20合约代码,我们会使用
编写你的代币合约(以简单ERC20为例)
让我们创建一个名为“MyAwesomeToken”(简称MAT)的简单代币。
-
创建Solidity文件:
- 在VS Code中,新建一个文件,命名为
MyAwesomeToken.sol。
- 在VS Code中,新建一个文件,命名为
-
编写合约代码:
复制以下代码到你的文件中,并根据需要修改注释部分:
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;
import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
import "@openzeppelin/contracts/access/Ownable.sol";
contract MyAwesomeToken is ERC20, Ownable {
constructor(
string memory name,
string memory symbol,
uint256 initialSupply
) ERC20(name, symbol) Ownable(msg.sender) {
_mint(msg.sender, initialSupply);
}
// 可选:添加一个mint函数,允许所有者增发代币
function mint(address to, uint256 amount) public onlyOwner {
_mint(to, amount);
}
}
代码解释:
// SPDX-License-Identifier: MIT:指定许可证类型,MIT是常用的宽松许可证。pragma solidity ^0.8.20;:指定Solidity编译器版本,^0.8.20表示使用0.8.20到0.9.0(不含0.9.0)的版本。import "@openzeppelin/contracts/token/ERC20/ERC20.sol";:导入OpenZeppelin的ERC20标准合约。import "@openzeppelin/contracts/access/Ownable.sol";:导入Ownable合约,用于实现所有权管理。contract MyAwesomeToken is ERC20, Ownable:定义我们的合约,继承自ERC20和Ownable。constructor(...):构造函数,在合约部署时执行一次。name和symbol:代币的名称(如"My Awesome Token")和符号(如"MAT")。initialSupply:初始供应量,注意这里是以最小的单位(如 wei 对于ETH),但对于ERC20,通常是18位小数,所以1000000 * 10**18 表示100万枚代币,每个代币有18位小数。ERC20(name, symbol):调用父合约ERC20的构造函数,设置名称和符号。Ownable(msg.sender):将合约部署者设置为所有者。_mint(msg.sender, initialSupply):向合约部署者铸造(发行)初始供应量的代币。
function mint(...) public onlyOwner:可选的增发函数,只有合约所有者可以调用,向指定地址增发代币。
注意:如果你直接复制代码,@openzeppelin/contracts 这部分路径可能需要你在项目中配置,或者你可以直接从OpenZeppelin官网复制完整的ERC20.sol和Ownable.sol代码内容到你的文件中(如果不想处理import的话,可以把这两个合约的内容直接粘贴到你的文件顶部,确保依赖关系正确)。
编译智能合约
-
访问Remix IDE:

- Remix IDE是一个基于浏览器的Solidity智能合约开发、测试和部署环境,非常适合初学者,访问 Remix IDE。
-
创建新文件:
- 在Remix IDE的文件浏览器中,点击“Create New File”,命名为
MyAwesomeToken.sol。
- 在Remix IDE的文件浏览器中,点击“Create New File”,命名为
-
粘贴代码:
将你在VS Code中编写好的合约代码粘贴到Remix的编辑器中。
-
选择编译器版本:
- 在Remix IDE的左侧工具栏,点击“Solidity Compiler”(图标像一个齿轮)。
- 在“Compiler”下拉菜单中,选择与你代码中
pragma solidity版本匹配或接近的编译器版本(例如0.8.20)。
-
编译合约:
- 确保右侧的“Contract”输入框中是你的合约名
MyAwesomeToken。 - 点击“Compile MyAwesomeToken.sol”按钮,如果编译成功,你会看到绿色的对勾,如果有错误,根据错误提示修改代码。
- 确保右侧的“Contract”输入框中是你的合约名
部署智能合约到以太坊网络
-
连接钱包:
- 在Remix IDE的左侧工具栏,点击“Deploy & Run Transactions”(图标像一个以太坊标志和箭头)。
- 在“ENVIRONMENT”下拉菜单中,选择“Injected Provider - MetaMask”,这会弹出MetaMask窗口,请求连接你的钱包,点击“连接”。
-
选择网络:
- 确保MetaMask选择的是你想要部署到的以太坊网络(如以太坊主网、Goerli测试网、Sepolia测试网等)。新手建议先在测试网(如Goerli或Sepolia)练习,因为这些网络有免费的测试ETH。
-
配置部署参数:
- CONTRACT:确保选择的是
MyAwesomeToken。 - DEPLOY FROM:显示你的MetaMask账户地址。
- VALUE:部署合约时发送的ETH数量,通常为0,因为部署ERC20代币本身不消耗ETH(只消耗GasGas)。
- 参数:
_name:输入你的代币全称,如 "My Awesome Token"。_symbol:输入你的代币符号,如 "MAT"。_initialSupply:输入初始供应量,1000000000000000000000000(这表示100万枚,18位小数,即1后面跟6个0,再跟18个0)。
- CONTRACT:确保选择的是
-
部署合约:
- 点击“Deploy”按钮。
- MetaMask会弹出交易确认窗口,显示Gas预估费用,点击“确认”。
- 等待几秒到几分钟,交易被打包上链,部署成功后,Remix的“Deployed Contracts”区域会显示你的合约地址,以及“Transact”和“At Address”等按钮。
验证代币(可选但推荐)
本文 原创,转载保留链接!网址:https://licai.bangqike.com/bixun/1318278.html
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。






