经过 19 章系统学习,你已经理解区块链的完整知识体系。本附录不做新理论,而是将开发各环节的核心工具与主流网络参数整理为一张"桌面速查表"——翻开即可找到所需命令与链 ID。
A.1 智能合约开发框架与 CLI
Hardhat(推荐新手与全栈开发者)
以太坊生态最通用的 JS/TS 开发框架,插件生态丰富。
| 命令 | 功能 |
|---|---|
npx hardhat | 交互式初始化新项目 |
npx hardhat compile | 编译 contracts/ 下所有 Solidity 文件 |
npx hardhat test | 运行 test/ 下所有测试 |
npx hardhat node | 启动本地 Hardhat Network |
npx hardhat run scripts/deploy.js --network | 在指定网络运行部署脚本 |
npx hardhat verify --network | 验证已部署合约源码 |
Foundry(推荐高级与安全审计方向)
Rust 构建的原生工具链,Solidity 原生测试、执行极快。
| 命令 | 功能 |
|---|---|
forge init | 初始化新建项目 |
forge build | 编译合约 |
forge test | 运行测试(支持 fuzzing,自动 Gas 报告) |
cast send | 发送交易/调用合约函数 |
anvil | 启动本地 EVM 节点(等效 Hardhat Network) |
选型:全栈 DApp + JS/TS 统一 → Hardhat;安全审计 + 海量模糊测试 + 偏好原生 → Foundry。
A.2 核心合约库
bash
npm install @openzeppelin/contracts| 合约路径 | 用途 |
|---|---|
token/ERC20/ERC20.sol | 标准 ERC-20 实现 |
token/ERC721/ERC721.sol | 标准 NFT 实现 |
token/ERC721/ERC721A.sol | Azuki 优化版(批量铸造省 Gas) |
security/ReentrancyGuard.sol | 重入攻击防护 |
access/Ownable.sol | 所有权管理 |
只从官方源安装,定期升级获取安全补丁。
A.3 前端交互库速查
ethers.js v6(当前推荐)
| API | 用途 |
|---|---|
new ethers.BrowserProvider(window.ethereum) | 连接 MetaMask |
await provider.getSigner() | 获取签名器 |
new ethers.Contract(addr, abi, signer) | 合约交互实例 |
ethers.parseUnits("1.5", 18) | 字符串 → wei(BigInt) |
ethers.formatUnits(weiValue, 18) | wei → 可读字符串 |
await tx.wait() | 等待链上确认 |
viem 与 web3.js
- viem(
npm i viem):Wagmi 团队轻量库,完整 TS 类型推导,新项目推荐。 - web3.js(
npm i web3):v4 支持 ESM/TS,老项目维护适用。
A.4 测试、调试与模拟
javascript
// Hardhat 网络时间操纵与快照
await network.provider.send("evm_increaseTime", [3600]);
await network.provider.send("evm_mine"); // 挖一个新块
const snap = await network.provider.send("evm_snapshot");
await network.provider.send("evm_revert", [snap]); // 回滚bash
# Fork 主网本地调试复杂协议
anvil --fork-url https://eth-mainnet.g.alchemy.com/v2/YOUR_KEYTenderly(tenderly.co):交易模拟 / Gas 分析 / EVM 逐步调试。
| Hardhat 插件 | 功能 |
|---|---|
hardhat-verify | 自动 Etherscan 源码验证 |
hardhat-gas-reporter | 测试后 Gas 消耗报表 |
hardhat-ethers | ethers v5/v6 集成 |
A.5 区块浏览器与 RPC 服务商
| 浏览器 | 主网 | 测试网 |
|---|---|---|
| Etherscan | etherscan.io | sepolia.etherscan.io |
| BscScan | bscscan.com | testnet.bscscan.com |
| PolygonScan | polygonscan.com | amoy.polygonscan.com |
| Arbiscan | arbiscan.io | sepolia.arbiscan.io |
| Optimistic Etherscan | optimistic.etherscan.io | sepolia-optimism.etherscan.io |
| RPC 服务商 | 免费额度 | 特点 |
|---|---|---|
| Alchemy | 开发级 | 稳定、仪表盘完善 |
| Infura | 开发级 | 老牌、IPFS 集成 |
| QuickNode | 有限 | 全球多区域 |
生产环境务必用付费 RPC 或自建节点——免费额度在流量突增时易被限流。
B.1 以太坊与测试网参数
| 参数 | 主网 | Sepolia |
|---|---|---|
| Chain ID | 1 | 11155111 |
| 共识 | PoS(Merge 后) | PoS |
| 出块时间 | ~12s | ~12s |
| 原生代币 | ETH | SepoliaETH(无价值) |
| 典型 Gas | 10-50 gwei | 1-10 gwei |
| 水龙头 | 无 | sepoliafaucet.com、sepolia-faucet.pk910.de |
开发流程:本地 Hardhat 全量测试 → Sepolia 封闭内测 → 主网正式部署。
B.2 EVM 兼容链参数
| 网络 | Chain ID | 共识 | 出块 | 原生代币 | 典型 Gas | 特点 |
|---|---|---|---|---|---|---|
| BNB Smart Chain | 56 | PoSA | ~3s | BNB | 3-10 gwei | 低 Gas 高吞吐,去中心化较逊 |
| Polygon PoS | 137 | Bor+Heimdall | ~2s | MATIC | 50-150 gwei | 侧链老牌选择 |
| Arbitrum | 42161 | Nitro Rollup | ~0.25s | ETH | 0.1-1 gwei | Optimistic Rollup,兼容 EVM |
| Optimism | 10 | Bedrock | ~2s | ETH | 0.1-1 gwei | Superchain 愿景 |
| Avalanche C-Chain | 43114 | Snowman++ | ~2s | AVAX | 1-5 gwei | 子网灵活、共识快 |
| Base | 8453 | Bedrock | ~2s | ETH | 0.1-1 gwei | Coinbase L2,生态增长快 |
L1 vs L2 选型:最高安全/通用 → 以太坊主网;面向普通用户低成本 → Arbitrum/Optimism/Base;极高吞吐与低延迟 → BSC/Polygon;企业许可场景 → Avalanche 子网 / Fabric。
B.3 非 EVM 链概览
| 链 | 模型 | 说明 |
|---|---|---|
| 比特币 | UTXO + Script | 最安全账本,无智能合约(Taproot 后有限扩展) |
| Solana | 账户 + BPF | 高 TPS 单链,并行执行,生态偏 DeFi/NFT |
| Aptos/Sui | Move + 并行执行 | Move 语言,强调安全与可扩展(Aptos 用 Block-STM 框架,Sui 用自研乐观并行引擎,实现各有差异) |
| Cosmos | IBC + SDK | 应用链互操作,IBC 跨链标准 |
| Polkadot | 中继链 + Parachain | 分片式多链框架 |
| Hyperledger Fabric | 联盟链多通道 | 企业级权限链 |
核心认知:工具是手段,选型守恒恒——钱包、链、库的选择始终围绕"安全、成本、生态"三要素权衡。开发时翻开本表即可快速定位。
, 前往 → 附录 B 术语表 |*
评论
0评论加载中…