欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 艺术 > Web-3.0(Solidity)ERC-20

Web-3.0(Solidity)ERC-20

2025/2/6 14:42:02 来源:https://blog.csdn.net/hongsegeming/article/details/145401123  浏览:    关键词:Web-3.0(Solidity)ERC-20

🚀 发行自己的加密货币(ERC-20 代币)

你可以使用 Solidity 编写 ERC-20 智能合约 来发行自己的加密货币,然后部署到 以太坊(Ethereum)BNB/Polygon 等 EVM 兼容链

📌 1. ERC-20 代币是什么?

ERC-20 是 以太坊标准代币协议,适用于 DApp、DeFi、ICO 等应用
它定义了一些标准函数,例如:

  • totalSupply() 👉 代币总供应量
  • balanceOf(address) 👉 查询地址余额
  • transfer(address, amount) 👉 代币转账
  • approve() & transferFrom() 👉 允许代理转账(如 DEX、质押)

ERC-20 适用于创建自己的 Token,如 USDT、UNI、SHIBA

📌 2. 编写 ERC-20 代币智能合约

创建 MyToken.sol,粘贴以下代码:

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;import "@openzeppelin/contracts/token/ERC20/ERC20.sol";contract MyToken is ERC20 {constructor(uint256 initialSupply) ERC20("MyToken", "MTK") {_mint(msg.sender, initialSupply * (10 ** uint256(decimals())));}
}

🔹 代码解析

  • import "@openzeppelin/contracts/token/ERC20/ERC20.sol"; 👉 使用 OpenZeppelin ERC-20 标准库
  • ERC20("MyToken", "MTK") 👉 代币名称 MyToken,符号 MTK
  • _mint(msg.sender, initialSupply * (10 ** uint256(decimals()))); 👉 生成 initialSupply 数量的代币

📌 3. 在 Remix IDE 部署(测试网 & 主网)

✅ 方法 1:本地测试(免费)

  1. 打开 Remix IDE
  2. 新建 MyToken.sol,粘贴 Solidity 代码
  3. 编译合约
    • 选择 Solidity Compiler(🛠️)
    • 版本 0.8.0+
    • 点击 Compile
  4. 部署合约
    • 选择 "JavaScript VM (London)"(本地虚拟机,免费)
    • 输入初始供应量(如 1000000
    • 点击 "Deploy"
  5. 测试代币
    • 运行 totalSupply(),查看总供应量
    • 运行 balanceOf(你的地址),查看余额

本地测试,不消耗 ETH!


✅ 方法 2:以太坊测试网(Goerli / Sepolia)

  1. 获取测试 ETH
    • Goerli Faucet
    • Sepolia Faucet
  2. MetaMask 连接测试网
    • 切换到 Goerli / Sepolia
  3. 在 Remix 选择 Injected Provider
    • 选择 Injected Provider - MetaMask
    • 点击 Deploy
    • MetaMask 确认交易
  4. 获取代币地址
    • 在 Remix 终端找到合约地址
    • 添加到 MetaMask,查看你的代币

测试网部署,使用测试 ETH,完全免费!


✅ 方法 3:以太坊主网 / BNB / Polygon(需要 ETH 交 Gas 费)

  1. 准备 ETH / BNB / MATIC
    • 以太坊(Ethereum):需要 ETH
    • BNB Chain(BSC):需要 BNB
    • Polygon(MATIC):需要 MATIC
  2. 选择 Injected Provider
    • 连接 MetaMask(主网)
  3. 部署合约
    • Deploy 合约(需要 Gas 费)
    • 交易完成后,查看合约地址
  4. 添加代币到 MetaMask
    • 复制合约地址
    • 在 MetaMask "导入代币" 并粘贴地址
    • 你的代币将出现在 MetaMask 钱包中

适用于正式上线,但需要真 ETH / BNB!

📌 4. 交互 & 空投代币

如果你想给别人发送你的代币,可以调用 transfer()

contract MyToken is ERC20 {constructor(uint256 initialSupply) ERC20("MyToken", "MTK") {_mint(msg.sender, initialSupply * (10 ** uint256(decimals())));}// 空投代币function airdrop(address recipient, uint256 amount) public {require(balanceOf(msg.sender) >= amount, "Not enough tokens");_transfer(msg.sender, recipient, amount);}
}

调用:

await contract.airdrop("0xRecipientAddress", ethers.utils.parseUnits("100", 18));

方式环境是否收费
本地测试(Remix VM)JavaScript VM免费
以太坊测试网(Goerli / Sepolia)测试网免费(需测试 ETH)
以太坊主网 / BSC / Polygon真实区块链需要 ETH / BNB 交 Gas 费

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com