:2026-02-19 17:15 点击:15
在加密货币的世界里,拥有一个属于自己的代币项目是许多开发者和创业者的梦想,以太坊(Ethereum)作为全球最大的智能合约平台,凭借其安全性、流动性和庞大的开发者社区,成为了发行代币的首选之地,本文将为你详细拆解,在ETH链上发行一个代币的全过程,从概念到部署,让你对整个过程有清晰的认识。
在开始之前,我们首先要明白为什么以太坊是发币的“黄金标准”:
工欲善其事,必先利其器,在敲下第一行代码之前,你需要做好以下准备:
明确代币的用途与经济模型
选择代币标准
准备开发环境
这是整个发币过程的技术核心,别担心,对于ERC-20代币,你几乎不需要从零开始写代码。
第一步:编写智能合约
你可以直接使用 OpenZeppelin 库提供的经过审计和广泛测试的 ERC-20 合约模板,这能确保你的代币合约安全、标准且功能完备。
安装 Hardhat 和 OpenZeppelin:
mkdir my-token-project cd my-token-project npm init -y npm install --save-dev hardhat npx hardhat # 选择 "Create a basic sample project" npm install @openzeppelin/contracts
编写合约代码:
在 contracts/ 目录下,创建一个新文件,MyToken.sol,然后写入以下代码:
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;
import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
contract MyToken is ERC20 {
constructor(string memory name, string memory symbol) ERC20(name, symbol) {
// 在这里可以设定初始供应量和分配给谁
// 铸造 1,000,000,000 个代币给部署者
_mint(msg.sender, 1000000000 * 10**decimals());
}
}
SPDX-License-Identifier 和 pragma solidity 是合约的标准头部。import "@openzeppelin/contracts/token/ERC20/ERC20.sol"; 导入了 OpenZeppelin 的标准 ERC-20 合约。contract MyToken is ERC20 表示我们的 MyToken 合约继承自 ERC20,从而获得了所有代币功能(如转账、授权、查询余额等)。constructor 是合约的构造函数,只在部署时运行一次,我们在这里设定了代币的名称和符号,并使用 _mint 函数将初始供应量铸造给了合约的部署者(也就是你)。第二步:编译合约
在终端中运行以下命令,Hardhat 会将你的 Solidity 代码编译成以太坊虚拟机(EVM)能理解的字节码。
npx hardhat compile
成功后,你会在 artifacts/contracts/MyToken.sol/ 目录下找到编译好的 ABI(应用二进制接口)和 Bytecode(字节码)文件。
第三步:部署合约
部署是将你的智能合约“发布”到以太坊网络上的过程。
创建部署脚本:
在 scripts/ 目录下,创建一个新文件,deploy.js,写入以下代码:
async function main() {
// 获取合约工厂
const MyToken = await ethers.getContractFactory("MyToken");
// 部署合约,并传入构造函数的参数:名称和符号
const myToken = await MyToken.deploy("My Awesome Token", "MAT");
// 等待部署完成
await myToken.deployed();
console.log("MyToken 合约已部署到地址:", myToken.address);
}
main()
.then(() => process.exit(0))
.catch((error) => {
console.error(error);
process.exit(1);
});
配置网络:
确保你的 hardhat.config.js 文件正确配置了网络,默认会连接到本地网络(如 Hardhat Network),如果你想部署到以太坊主网或测试网(如 Sepolia),需要在这里添加配置,并确保你的 MetaMask 连接到正确的网络。
运行部署脚本: 在终端中执行:
npx hardhat run scripts/deploy.js --network <你的网络名称>
如果是本地测试,可以不加 --network 参数。
部署成功后,终端会输出你的代币合约地址。请务必妥善保存这个地址! 它就是你的代币在以太坊上的唯一身份标识。
合约只是开始,后续的工作同样重要。
验证合约源代码 在以太坊浏览器(如 Etherscan)上,你可以将你的合约地址和源代码进行验证,验证后,任何人都可以查看你的代码,这极大地增加了项目的透明度和可信度,是上交易所的必备条件。
创建代币信息页面 在 Etherscan 上找到你的代币页面,通常会自动生成一个标准化的代币信息页面,包含名称、符号、总供应量、持有者分布等。
上线交易所 这是让代币获得流动性的关键一步,你需要:

本文由用户投稿上传,若侵权请提供版权资料并联系删除!