CodeRoadMap
首页路线题库资源库文章社区
CodeRoadMap

程序员的学习成长路线图。内容免费开放,登录后可同步路线图与课时进度。

由 程序员柏风 独立维护 · 关于作者

学习

  • 路线图
  • 课程
  • 面试题
  • 文章
  • 我

更多

  • 资源
  • 社区
  • 关于作者
  • 内容说明

© 2026 CodeRoadMap

津ICP备2026012044号-1·津公网安备12011002026155号·coderoadmap@126.com
区块链入门/课时/综合练习
RawBlame
课时目录12 节

区块链入门

  1. 01区块链是什么
  2. 02结构与共识
  3. 03链类型与扩容
  4. 04EVM 生态
  5. 05智能合约与 Solidity
  6. 06开发工具链
  7. 07DApp 与 Web3 前端
  8. 08DeFi 与应用场景
  9. 09预言机
  10. 10安全与测试
  11. 11部署与节点运维
  12. 12综合练习

综合练习

测试网部署 ERC-20 合约 + 前端 mint 按钮。

40 分钟

综合练习:ERC-20 与 Mint 前端

整合本课程所学:在 Sepolia 测试网 部署带 mint 功能的 ERC-20 合约,并用 React 前端实现「连接钱包 → 调用 mint → 显示余额」。复习 /roadmaps/blockchain 全部节点。

学习目标

  • 完成可 mint 的 ERC-20 合约、测试与测试网部署
  • 构建最小 DApp:连接 MetaMask、调用 mint、刷新余额
  • 输出简短 README:合约地址、网络、运行步骤

需求说明

  1. 代币名称 PracticeToken(PTK),初始供应 0,仅 owner 可 mint
  2. 每人 mint 上限 1000 PTK(合约内限制)
  3. 前端:连接钱包、显示地址与 PTK 余额、Mint 按钮
  4. 部署到 Sepolia,源码在 Etherscan 验证

合约参考

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;

import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
import "@openzeppelin/contracts/access/Ownable.sol";

contract PracticeToken is ERC20, Ownable {
    uint256 public constant MINT_CAP = 1000 * 10 ** 18;

    constructor() ERC20("PracticeToken", "PTK") Ownable(msg.sender) {}

    function mint(address to, uint256 amount) external onlyOwner {
        require(amount <= MINT_CAP, "exceeds cap");
        _mint(to, amount);
    }
}

部署后可将 owner 设为多签或保留在部署者地址供练习。

前端核心逻辑

const TOKEN_ABI = [
  "function mint(address to, uint256 amount)",
  "function balanceOf(address) view returns (uint256)",
  "function decimals() view returns (uint8)",
];

async function handleMint() {
  const signer = await provider.getSigner();
  const me = await signer.getAddress();
  const token = new ethers.Contract(TOKEN_ADDRESS, TOKEN_ABI, signer);
  const amount = ethers.parseUnits("100", 18);
  const tx = await token.mint(me, amount);
  await tx.wait();
  await refreshBalance(me);
}

验收清单

  • Hardhat/Foundry 测试覆盖 mint 上限与 onlyOwner
  • Sepolia 部署地址 + Etherscan 验证链接
  • 前端可连接钱包并成功 mint 一次
  • README 含:依赖安装、.env 示例、已知限制

练习

  • 完成上述全部验收项
  • 录制 30 秒演示:连接 → mint → 余额变化
  • 在 /roadmaps/blockchain 选定下一个深入方向(安全审计 / L2 / DeFi)
  • 小结

    能独立交付「合约 + 前端 + 测试网部署」即达到本课毕业标准。 恭喜完成 blockchain-essentials;带着可演示的项目继续路线图上的下一节点。

    加载本节练习…
    ← 上一课部署与节点运维