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综合练习

开发工具链

Hardhat、Foundry、OpenZeppelin、Slither。

35 分钟

开发工具链

链上开发除了 Remix,还需要本地编译、测试、部署脚本与静态分析。Hardhat 与 Foundry 是两套主流方案;OpenZeppelin 提供安全合约库,Slither 帮助发现常见漏洞。见 /roadmaps/blockchain。

学习目标

  • 用 Hardhat 或 Foundry 初始化项目并运行测试
  • 通过 OpenZeppelin 复用经过审计的合约模块
  • 了解 Slither 在 CI 中的基本用法

Hardhat 快速开始

npm init -y
npm install --save-dev hardhat @nomicfoundation/hardhat-toolbox
npx hardhat init
// test/Counter.test.js
const { expect } = require("chai");
const { ethers } = require("hardhat");

describe("Counter", function () {
  it("increments", async function () {
    const Counter = await ethers.getContractFactory("Counter");
    const counter = await Counter.deploy();
    await counter.increment();
    expect(await counter.count()).to.equal(1n);
  });
});
npx hardhat test
npx hardhat node          # 本地链
npx hardhat run scripts/deploy.js --network localhost

Foundry 对比

HardhatFoundry
语言JavaScript / TypeScriptSolidity 测试 + Rust 工具
测试速度较快通常更快
生态插件丰富成长中
forge init my-project
forge test
forge script script/Deploy.s.sol --rpc-url $RPC --broadcast

OpenZeppelin

优先 import 官方实现,而非手写 transfer 逻辑:

  • ERC20、ERC721、Ownable、Pausable
  • ReentrancyGuard 防重入

Slither 静态分析

pip install slither-analyzer
slither .

关注:reentrancy-eth、unchecked-transfer、suicidal 等高危检测项。可接入 GitHub Actions,合并前自动扫描。

练习

  • 用 Hardhat 或 Foundry 为 Counter 写至少 2 个测试用例
  • 配置 .env 存放 RPC URL 与私钥,并加入
.gitignore
  • 对一个小项目运行 Slither,记录一条告警及修复思路
  • 小结

    专业工具链 = 可重复测试 + 安全扫描 + 自动化部署。 下一课把合约接到前端,构建完整 DApp。

    加载本节练习…
    ← 上一课智能合约与 Solidity下一课 →DApp 与 Web3 前端