尚硅谷以太坊全套教程:从零到精通的区块链开发之路

·

关键词:区块链入门、以太坊开发、Solidity编程、DApp实战、智能合约、gas机制、web3.js

很多人被“区块链”“智能合约”这些热搜词吸引,却又被高昂学费、杂乱教程劝退。尚硅谷这套 93 课时、近 40小时 的免费以太坊视频课,恰好补上知识断层。以下内容基于官方大纲深度梳理,提炼核心知识点、附赠速查索引,并穿插常见疑问解答,帮你迅速判断课程是否真的适合你。


课程内容全景图

整套课程可拆成 六大板块,部分章节已在前置科普中完成铺垫,剩余 93 节则带你深入实操。

1. 以太坊基础概念(课时 001–007)

2. 客户端 & 私链环境(课时 015–020)

3. Solidity 智能合约(课时 030–046)

快速索引出自课时
数据类型:uint、address、mapping030
修饰符:public、private、internal、external037
事件与日志:emit、indexed038
继承、接口与库041–044

实战环节:

4. web3.js 前端交互(课时 047–061)

5. DApp 完整工作流(课时 062–077)

6. 底层原理深挖(课时 078–093)


学习前需要准备什么?

工具/环境版本提示作用
Node.js≥ 18.0跑脚本、装 Hardhat
Remix IDE在线版即可快速验证合约
Ganache CLIlatest本地一键起链
MetaMask最新插件测试签名、切换网络

FAQ:大家最关心的问题都在这里

  1. Q:课时有多长?一天学得完吗?
    A:平均每节 25 分钟,完整看完需 40 小时。建议先选“Solidity + 合约部署”精筛 15 节,三天可做完 MVP。
  2. Q:英语不好,黄皮书看不懂怎么办?
    A:第 084–091 课已替你做中文注解,结合图例即可弄懂 gas cost tableRLP 编码 等硬核点。
  3. Q:本地链与真实网络差异大吗?
    A:私链无真实价值,但编译、调用逻辑一致;部署到 Goerli 测试网只需改一行 RPC。
  4. Q:学完能否直接找工作?
    A:课程侧重复盘“DApp 工作流”,若配合一个小项目上线(如 NFT 市场、DeFi 聚合器),可完善简历。
  5. Q:代码出错看不懂 Etherscan 提示?
    A:善用 console.log、Hardhat REVERT 字符串打印,再结合第 074–076 课的测试脚本即可定位。

高效学习节奏单(7 日打卡计划)

日程关键任务达成标志
第 1 天看 001–007,搭好私链geth attach 成功、余额查询正常
第 2 天完成水龙头合约Remix 部署后,同学可领测试币
第 3 天第 032–033:ERC20 代币钱包能显示代币符号、精度正确
第 4 天web3.js 调用前端页面可一键转账并刷新余额
第 5 天DApp 堆栈(062–067)完整投票应用本地跑通
第 6 天Hardhat Pipelinenpx hardhat test --network localhost 一次性通过
第 7 天白皮书精读摘要用 200 字复述“世界计算机”愿景

想加速检验成果?👉 7 日区块链课程通关秘籍


案例:用课程知识 3 天完成“链上纪念徽章”

需求

纪念日当日,用户扫描二维码即可领取 NFT;总量 1000 枚,先到先得。

技术栈

Day-1 合约部分

pragma solidity ^0.8.19;
import "@openzeppelin/contracts/token/ERC721/extensions/ERC721A.sol";

contract AnniversaryBadge is ERC721A {
    uint256 public maxSupply = 1000;
    constructor() ERC721A("AnniversaryBadge", "BADGE") {}

    function mint(address to) external {
        require(totalSupply() < maxSupply, "Sold out");
        _mint(to, 1);
    }
}

用 Hardhat 跑单元测试,确保 mint 方法在 1001 次调用时抛出错误。

Day-2 前端整合

React 页面核心逻辑:

import { ethers } from 'ethers';
const provider = new ethers.providers.Web3Provider(window.ethereum);
const signer = provider.getSigner();
const badge = new ethers.Contract(address, abi, signer);
await badge.mint(await signer.getAddress());

监听 Transfer 事件,拿到 tokenId 后展示 JSON 元数据。

Day-3 上线 & 验证

部署到 Mumbai 测试链,用 Hardhat-verify 自动在 PolygonScan 上验证源码,引导用户一键添加网络。


进阶加速器:如何持续深挖?

完成 93 课后,你基本走完“入门--实战--底层”三步曲。继续爬坡可考虑两条路线:

  1. DeFi 协议实战
    在 UniswapV3 合约里追踪 Swap 事件,分析 代币价格曲线
    再结合 闪电贷 策略复现套利案例。
  2. 模块化系统拆分
    深入 EIP-2535(钻石标准)与 EIP-1967(代理合约),构建可升级的 DApp。

👉 直达下一站:从智能合约到质押收益农场


速查清单:课程高频命令 10 条

  1. 启动私链:geth --dev --http --http.api personal,eth,net,web3 --allow-insecure-unlock
  2. 解锁账户:personal.unlockAccount(eth.accounts[0], "密码", 0)
  3. 查询 nonce:eth.getTransactionCount("地址")
  4. 计算 gasPrice:web3.eth.gasPrice
  5. 部署合约:truffle migrate --reset --network development
  6. 调用 view 函数:.methods.name().call()
  7. 发送交易:.methods.transfer(to, amount).send({from: account})
  8. 监听事件:.events.Transfer({fromBlock: 0}, callback)
  9. hardhat 测试:npx hardhat test tests/sample-test.js
  10. 验证源码:npx hardhat verify --network mainnet 合约地址 "参数"

小结:本课程带来的三把钥匙

只需把这 93 课时 吃干榨净,你就拥有了独立开发和继续进阶的全部弹药。祝你早日发布同类产品,抢占链上高地!